CDaoRecordset

CDaoRecordset

CDaoRecordset
一个CDaoRecordset对象表示从数据源中选择的一组记录。动态集型记录集包含来自一个数据库中一个或多个表的字段。可以直接使用CDaoRecordset,也可以从CDaoRecordset派生出一个应用指定记录集。

正文

一个CDaoRecordset对象表示从数据源中选择的一组记录。作为“记录集”,CDaoRecordset对象在以下三种窗体中有效:

表型记录集表示一个基本表,可以用它从单个数据库表中检查、添加、改变或删除记录。

动态集型记录是一个查询的结果,可以包含可更新的记录。这个数据集是一组记录,可以用它从一个或多个基本数据库表中检查、添加、改变或删除记录。动态集型记录集包含来自一个数据库中一个或多个表的字段。

快照型记录集是一组记录的一个静态拷贝,可以用它查找数据或生成报表。这些记录集可以包含来自一个数据库中一个或多个表的字段,不过不可更新。

记录集的每个窗体表示记录集在打开时所固定的一组记录。在表型记录集或动态集型记录集中滚动到一个记录时,它反映了记录集打开后,由其它用户或者应用中其它记录集对记录所做的改动(快照型记录集不可更新)。可以直接使用CDaoRecordset,也可以从CDaoRecordset派生出一个应用指定记录集。然后可以:

在记录集中滚动。

设置索引并使用Seek快速查找记录(只对表型记录集)。

基于字符串比较:“<”,“<=”,“=”,“>=”或“>”的记录查找(对动态集型和快照型记录集)。

更新记录并指定一种封锁模式(除了数据源中选择的记录)。

过滤数据集,以限制它从有效数据源中选择的记录。

排序记录集。

展开表格

类CDaoRecordset提供了接口与类CRecordset类似,主要区别在于类CDaoRecordset通过基于OLE的数据访问对象DAO)访问数据。类CRecordSet通过开放数据库连接(ODBC)和适用于此DBMS的ODBC驱动程序访问DBMS。

注意:

DAO数据库类与基于开放数据库连接(ODBC)的MFC数据库类截然不同。所有DAO数据库类名均以“CDao”作前缀。你仍然可以用DAO类访问ODBC数据源;由于DAO类指定于Microsoft Jet数据库引擎,它们通常提供了超强的功能。

既可以直接使用CDaoRecordset,也可以由CDaoRecordset派生出一个类。两种情况下,要使用记录集类,需打开一个数据库并构造记录集对象,向构造程序传送一个指向CDaoDatabase对象的指针。接下来调用记录集的Open成员函数,指定对象是表型、动态集型还是快照型记录集。调用Open,从数据库中选择数据并获取第一条记录。

使用对象的成员函数和数据成员,可以滚动并操纵记录。操作有效性取决于对象是表型记录集、动态集型记录集还是快照型记录集,并且它是可更新的还是只读的──这依赖于数据库或开放数据库连接(ODBC)数据源的功能。要更新Open调用之后可能已改变或添加的记录,需调用对象的Requery成员函数。结束时调用对象的Close成员函数并销毁这个对象。

CDaoRecordset使用DAO记录字段交换(DFX),以支持通过CDaoRecordset或CDaoRecordset派生类的安全型C++成员对记录字段的读取更新。利用GetFieldValue和SetFieldValue,也可以不用DFX机制而实现对数据库列的动态绑定。

#include

相关词条

相关搜索

其它词条