编程词典
明日图书
明日软件
用户注册
用户登录
站内
  当前位置:编程词典服务网 >> 编程词典社区论坛 >> ADO记录集对象
  · ADO记录集对象

用户:  大麦
发帖:  430 篇
作品:  0 个
回复:  108 篇
技术分:  1156 分
等级:  
注册:  2010-05-11 09:09:40



发表于:2010-07-13 15:04:49
          楼主

ADO记录集对象
ADO记录集对象(Recordset)可操作来自数据源的数据,通过Recordset对象可对几乎所有的数据进行操作。所有的Recordset对象均使用记录(行)和字段(列)进行构造。
1.ADO记录集对象操作
使用ADO记录集对象的集合、方法和属性可执行下列操作:
 使用CursorType属性或Open方法指定游标类型。
 使用Open方法打开记录集,使用Close方法关闭记录集。
 使用AddNew方法、Update方法和Delete方法编辑记录。
2.ADO记录集对象属性
ADO记录集对象的属性如下:
 AbsolutePage:识别当前记录所在的页码,可以为1至所含页码的长整型值,或以下值:
 adPosUnknown:记录集为空。
 adPosBof:当前记录集指针在BOF。
 adPosEof:当前记录集指针在EOF。
 AbsolutePosition:根据其在Recordset中的序号位置移动到记录,或确定当前记录的序号位置。
 ActiveConnection:确定在其上将执行指定命令对象或打开指定记录集的连接对象。
 BOF:表示当前记录位置位于记录集对象的第一个记录之前。
 EOF:表示当前记录位置位于记录集对象的最后一个记录之后。
 Bookmark:保存当前记录的位置并随时返回到该记录。
 CacheSize:控制提供者在缓存中所保存的记录数目,并可控制一次恢复到本地内存的记录数。
 CursorLocation:允许在各种游标库中进行选择,可选值如下:
 adUseClient:使用客户端游标。
 adUseServer:使用提供者游标。
 CursorType:指定打开记录集对象时应该使用的游标类型,可选值如下:
 AdOpenUnspecified:指出一个光标类型的不确定值,利用这个光标类型可以查询OLE DB允许什么样的光标存取。
 adOpenForwardOnly:仅向前游标,除仅允许在记录中向前滚动之外,其行为类似动态游标。这样,当需要在记录集中单程移动时就可提高性能。
 adOpenKeyset:键集游标,其行为类似动态游标,不同的只是禁止查看其他用户添加的记录,并禁止访问其他用户删除的记录,其他用户所作的数据更改将依然可见。它始终支持书签,因此允许记录集中各种类型的移动。
 adOpenDynamic:动态游标,用于查看其他用户所作的添加、更改和删除,并用于不依赖书签的记录集中各种类型的移动。如果提供者支持,可使用书签。
 adOpenStatic:静态游标,提供记录集合的静态副本以查找数据或生成报告。它始终支持书签,因此允许记录集中各种类型的移动。其他用户所作的添加、更改或删除将不可见。这是打开客户端 (ADOR) 记录集对象时惟一允许使用的游标类型。
 EditMode:确定当前记录的编辑状态,可选值如下:
 adEditNone:无编辑操作。
 adEditInProgress:已经被编辑,还未保存。
 adEditAdd:已经调用AddNew方法,新记录还为保存到数据库中。
 Filter:选择性地屏蔽记录集对象中的记录,已筛选的记录集将成为当前游标,可选值如下:
 adFilterNone:移除当前过滤器,回复记录视图。
 adFilterPendingRecords:允许查看已更改但海外发送到服务器的记录。
 adFilterAffectedRecords:允许叉开受CancelBatch 、Delete、Resync和UpdateBatch方法调用影响的记录。
 adFilterFetchedRecords:允许叉开当前缓冲区中的记录。
 LockType:指定打开时提供者应该使用的锁定类型,可选值如下:
 adLockUnspecified:未指定。
 adLockReadOnly:只读记录集。
 adLockPessimistic:数据在更新时锁定其他所有动作这是最安全的锁定机制。
 adLockOptimistic:只有在实际的更新命令中锁定记录,锁定状态维持时间最短,因此,使用的最频繁。
 adLockBatchOptimistic:在数据库执行批量操作使用,是一个非常不安全的记录锁定形式,但是在应用程序需要处理许多记录时经常使用。
 MarshalOptions:表示要被调度返回服务器的记录,可选值如下:
 adMarshalAll:所以偶的记录都可以放回给服务器。
 adMarshalModifiedOnly:只有编辑过的行可以返回给服务器。
 MaxRecords:对提供者从数据源返回的记录数加以限制。
 PageCount:确定记录集对象中数据的页数。
 PageSize:确定组成逻辑数据页的记录数。
 RecordCount:确定记录集对象中记录的数目。
 Sort:指定一个或多个Recordset以其关键字(ASCENDING或DSCENDING)排序的字段名,并指定按升序还是降序对字段进行排序。
 Source:记录集对象中数据的来源(命令对象、SQL语句、表的名称或存储过程)。
 State:确定指定对象的当前状态。该属性是只读的。
 Status:表示有关批更新或其他大量操作的当前记录的状态。
3.ADO记录集对象方法
ADO记录集对象的方法如下:
 AddNew:可创建和初始化新记录。
 Cancel:取消执行挂起的异步 Execute 或 Open 方法的调用。
 CancelBatch:可取消批更新模式下记录集中所有挂起的更新。
 CancelUpdate:可取消对当前记录所作的任何更改或放弃新添加的记录。
 Clone:从现有的记录集对象创建记录集对象的副本。可选择指定该副本为只读。
 Delete:可标记记录集对象中的当前记录或一组记录以便删除。
 Move:移动记录集对象中当前记录的位置。
 MoveFirst:移动到记录集的第一条记录。
 MoveLast:移动到记录集的最后一个记录。
 MoveNext:将当前记录向前移动一个记录(向记录集的底部)。
 MovePrevious:将当前记录位置向后移动一个记录(向记录集的顶部)。
 NextRecordset:清除当前记录集对象并通过提前命令序列返回下一个记录集。
 Open:可打开代表基本表、查询结果或者以前保存的记录集中记录的游标。
 Requery:通过重新执行对象所基于的查询,来更新记录集对象中的数据。
 Resync:从现行数据库刷新当前记录集对象中的数据。
 Save:将记录集保存(持久)在文件中。
 Supports:确定记录集对象所支持的功能类型。
 Update:保存对记录集对象的当前记录所做的所有更改。
 UpdateBatch:将所有挂起的批更新写入磁盘。
下面对ADO记录集对象的常用方法进行详细介绍。
(1)Open方法
语法:
HRESULT Open(const _variant_t & Source, const _variant_t & ActiveConnection,enum CursorTypeEnum CursorType,enum LockTypeEnum LockType,long Options);
Open语法中的参数说明如表1所示。
表1                    Open语法中的参数说明

参数

描述

Source

指定记录集的数据源

ActiveConnection

指定记录集对象使用的连接

CursorType

指定使用的游标类型

LockType

指定锁定类型

Options

指定数据源语句的类型


(2)AddNew方法
语法:
HRESULT AddNew(const _variant_t &FieldList = vtMissing,const _variant_t &values = vtMissing);
参数说明:
 FieldList:指定字段列表数组。
 Values:指定字段值数组。
(3)Update方法
语法:
HRESULT Update (const _variant_t &Fields = vtMissing,const _variant_t &values = vtMissing);
参数说明:
 Fields:指定字段数组。
 Values:指定字段值数组。
(4)Delete方法
语法:
HRESULT Delete(enum AffectEnum AffectRecords);
参数说明:
AffectRecords:AffectEnum枚举类型值,指定受影响的记录数。

 

本帖赏分:0 分   回复数:0 篇     
修改   删除   引用   回复
该帖暂无回复!
吉林省明日科技有限公司提供技术支持. 
Copyright © 1999-2008 吉林省明日科技有限公司. 吉ICP备10002740
当前时区 GMT+8, 今天是 
刷新页面 - 关于我们 - 设为首页