- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Recordset 对象代表一个表的记录集或者命令执行的结果,在记录集中,总是有一个当前的记录。记录集是ADO 管理数据的基本对象,所有的Recordset 对象都按照行列方式的表状结构进行管理,每一行对应一个记录(Record ) ,每一列对应一个域(F ield )。Recordset 对象也通过游标对记录进行访问,在ADo 中,游标分四不中:
a .静态游标。提供对数据集的一个静态拷贝,允许各种移动操作,包括前移、后移等等,但其他用户所做的操作反映不出来。
b .动态游标。允许各种移动操作,包括前移、后移等等,并且其他用户所做的操作也可以直接反映出来。
c .前向游标。允许各种前向移动操作,不能向后移动,并且其他用户所做的操作也可以直接反映出来。
d .键集(keyset )游标。类似于动态游标,也能够看到其他用户所作的数据修改,但不能看到其它用户新加的记录,也不能访问其他用户删除的记录。
ADO 中定义了四种不同的游标类型:
动态游标 — 用于查看其他用户所作的添加、更改和删除;用于 Recordset(不依赖于书签)中的所有移动类型;如果提供者支持,还可用于书签。
键集游标 — 其行为类似动态游标,不同的只是它禁止查看其他用户添加的记录,并且禁止访问其他用户删除的记录。其他用户所作的数据更改依然可见。它始终支持书签,因此允许 Recordset 中的所有移动类型。
静态游标 — 提供记录集的静态副本,可用来查找数据或生成报告;它始终支持书签,因此允许 Recordset 中的所有移动类型。其他用户所作的添加、更改或删除将不可见。当打开客户端 Recordset 对象时,这是唯一允许的游标类型。
仅向前游标 — 只允许在 Recordset 中向前滚动。其他用户所作的添加、更改或删除将不可见。当只需要对 Recordset 进行一次传递时,可以提高性能。
针对本 CursorType 的 Recordset
对于所有这些常量,Supports 方法必须返回 True
adOpenForwardOnly
无
adOpenKeyset
adBookmark、adHoldRecords、adMovePrevious 和 adResync
adOpenDynamic
adMovePrevious
adOpenStatic
adBookmark、adHoldRecords、adMovePrevious 和 adResync
指定在编辑过程中记录上的锁定类型。
常量
值
说明
adLockBatchOptimistic
4
指示开放式批更新。需要批更新模式。
adLockOptimistic
3
指示逐个记录开放式锁定。提供者使用开放式锁定,仅在调用 Update 方法时锁定记录。
adLockPessimistic
2
指示逐个记录保守式锁定。提供者要确保记录编辑成功,通常在编辑之后立即在数据源锁定记录。
adLockReadOnly
1
指示只读记录。无法改变数据。
adLockUnspecified
-1
未指定锁定类型。创建副本时,副本与源对象使用相同的锁定类型。
游标服务是数据访问的重要内容,在第二部分介绍Recordset 对象时,我们说明了游标的四种类型,在Recordset 对象还有一个属性CursorLocation 用于指定游标的位置,我们可以指定使用客户端的游标,也可以指定使用服务器端游标。CursorLocation 属性的缺省值为adUseserver ,使用服务器端游标的好处是,程序对数据库的修改可以立即反映到服务器,而且,其他用户对数据库的操作也可以马上反映出来,但使用服务器端游标带来了高网络流量,每一个数据访问都需要通过网络交换数据。
ADO 提供了客户端数据缓存处理,因此,在打开Recordset 对象前,可以设置CursorLocation 为adUseClient ,指定使用客户端游标。通过客户端游标,ADO 利用本地数据缓存以降低网络流量,虽然在数据访问灵活性上有所损失,但却大大提高了通过网络访问数据库的性能。
批修改处理。
我们知道Recordset 对象的update 方法用于修改当前记录,而updateBatch 方法则用于递交所有对当前记录集的增、删、改操作。把Recordset 对象的LockTyPe 属性设置为adLockBatchoptimistic ,则updateBatch 方法有效,当然,不同的oLE DB 提供者可能还会有不同的要求,比如,sQL server 提供者也要求游标类型为键集游标或静态游标。UpdateBatch 方法可以一次把客户端所有的修改传送到数据库中,相对应
文档评论(0)