第三章 使用Recordset对象
这一章讲解Recordset对象的使用,之所以将其作为第一个作为讲解,是因为最常用的就是这个对象,使用好这个对象,VB大部分的数据库编程功能就掌握了。
一、Recordset对象的创建
在DAO对象一览图中我们可以看到Recordset对象是Database对象的子对象,那么在建立Recordset对象之前需要先建立Databsse对象,这就如同在C++中要先建立父类才能建立子类一样,这里有些读者可能会问,在Database对象上还有两层对象不需要建立吗?在VB的数据库编程,DBEngine对象是最顶级的数据库访问对象,有点象JAVA中的超类概念,是不需要建立,其他DAO对象都是对它的继承,至于Workspace对象,VB中缺省建立了一个,如果不设计到多个数据库环境的话(例如:在程序中同时使用ODBC和Jet),是不需要关心的。在解决了这个问题我们还需要将Jet3.5动态链接库加入工程中才能定义Recordset对象,步骤如下:
1、选中“工程”菜单的“引用”,出现如下图所示的窗口
选中画圈的部分即引用了Jet3.5的库,如果你的程序要求兼容Jet2.5的数据库则选中下图画圈部分
在做好这几步之后就可以在程序中创建Recordset对象了。
2、创建Recordset 对象变量
1)首先,必须声明一个 Recordset 类型的变量,然后将变量设置为 OpenRecordset 方法返回的对象。
2)OpenRecordset 方法在 Database、Connection、TableDef、QueryDef 以及已经存在的 Recordset 对象中使用。
Connection 和 Database 对象的 OpenRecordset 方法的语法如下:
Set variable = database.OpenRecordset (source [, type [, options, [lockedits ]]])
其它所有类型的对象的 OpenRecordset 方法的语法如下:
Set variable = object.OpenRecordset ([type [, options [,lockedits ]])
其中: variable 参数是新的 Recordset 对象的名称。
database 参数是一个打开的 Database 或者 Connection 对象的名称,可用该对象创建新的 Recordset 对象。
object 参数是一个 TableDef、QueryDef 或者现有的 Recordset 对象,我们用该对象创建新的 Recordset 对象。
source 参数指定新的 Recordset 对象的记录来源。source 的值将成为新产生的 Recordset 对象的 Name 属性的值。用 Connection 或者 Database 对象创建新的 Recordset 对象时,source 参数可以是数据库中现有的 TableDef 或 QueryDef 对象,或者为一个有效的、返回行的 SQL 查询或语句。如果用 TableDef、QueryDef 或者现有的 Recordset 对象创建新的 Recordset 对象,那么对象自身将为新的记录集提供数据源。