欢迎来到天天文库
浏览记录
ID:17911239
大小:261.00 KB
页数:23页
时间:2018-09-09
《recordset 对象代表一个表的记录集或者命令执行的结果》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Recordset对象代表一个表的记录集或者命令执行的结果,在记录集中,总是有一个当前的记录。记录集是ADO管理数据的基本对象,所有的Recordset对象都按照行列方式的表状结构进行管理,每一行对应一个记录(Record),每一列对应一个域(Field)。Recordset对象也通过游标对记录进行访问,在ADo中,游标分四不中:a.静态游标。提供对数据集的一个静态拷贝,允许各种移动操作,包括前移、后移等等,但其他用户所做的操作反映不出来。b.动态游标。允许各种移动操作,包括前移、后移等等,并且其他用户所做的操作也可以直接反映出来。c.前向游标。允许各种
2、前向移动操作,不能向后移动,并且其他用户所做的操作也可以直接反映出来。d.键集(keyset)游标。类似于动态游标,也能够看到其他用户所作的数据修改,但不能看到其它用户新加的记录,也不能访问其他用户删除的记录。ADO中定义了四种不同的游标类型:动态游标—用于查看其他用户所作的添加、更改和删除;用于Recordset(不依赖于书签)中的所有移动类型;如果提供者支持,还可用于书签。键集游标—其行为类似动态游标,不同的只是它禁止查看其他用户添加的记录,并且禁止访问其他用户删除的记录。其他用户所作的数据更改依然可见。它始终支持书签,因此允许Recordset中的
3、所有移动类型。静态游标—提供记录集的静态副本,可用来查找数据或生成报告;它始终支持书签,因此允许Recordset中的所有移动类型。其他用户所作的添加、更改或删除将不可见。当打开客户端Recordset对象时,这是唯一允许的游标类型。仅向前游标—只允许在Recordset中向前滚动。其他用户所作的添加、更改或删除将不可见。当只需要对Recordset进行一次传递时,可以提高性能。针对本CursorType的Recordset对于所有这些常量,Supports方法必须返回TrueadOpenForwardOnly无adOpenKeysetadBookmar
4、k、adHoldRecords、adMovePrevious和adResyncadOpenDynamicadMovePreviousadOpenStaticadBookmark、adHoldRecords、adMovePrevious和adResync指定在编辑过程中记录上的锁定类型。常量值说明adLockBatchOptimistic4指示开放式批更新。需要批更新模式。adLockOptimistic3指示逐个记录开放式锁定。提供者使用开放式锁定,仅在调用Update方法时锁定记录。adLockPessimistic2指示逐个记录保守式锁定。提供者要确
5、保记录编辑成功,通常在编辑之后立即在数据源锁定记录。adLockReadOnly1指示只读记录。无法改变数据。adLockUnspecified-1未指定锁定类型。创建副本时,副本与源对象使用相同的锁定类型。游标服务是数据访问的重要内容,在第二部分介绍Recordset对象时,我们说明了游标的四种类型,在Recordset对象还有一个属性CursorLocation用于指定游标的位置,我们可以指定使用客户端的游标,也可以指定使用服务器端游标。CursorLocation属性的缺省值为adUseserver,使用服务器端游标的好处是,程序对数据库的修改可以
6、立即反映到服务器,而且,其他用户对数据库的操作也可以马上反映出来,但使用服务器端游标带来了高网络流量,每一个数据访问都需要通过网络交换数据。ADO提供了客户端数据缓存处理,因此,在打开Recordset对象前,可以设置CursorLocation为adUseClient,指定使用客户端游标。通过客户端游标,ADO利用本地数据缓存以降低网络流量,虽然在数据访问灵活性上有所损失,但却大大提高了通过网络访问数据库的性能。批修改处理。我们知道Recordset对象的update方法用于修改当前记录,而updateBatch方法则用于递交所有对当前记录集的增、删、
7、改操作。把Recordset对象的LockTyPe属性设置为adLockBatchoptimistic,则updateBatch方法有效,当然,不同的oLEDB提供者可能还会有不同的要求,比如,sQLserver提供者也要求游标类型为键集游标或静态游标。UpdateBatch方法可以一次把客户端所有的修改传送到数据库中,相对应地,也可以调用CancelBatch方法取消所有的修改操作说一下Recordset对象的属性1、CursorType属性AdOpenForwardOnly:仅向前游标,默认值。除了只能在记录中向前滚动外,与静态游标相同。当只需要在记
8、录集中单向移动时,使用它可提高性能。(顾名思义,这种游标只能向前移动。然而,由于
此文档下载收益归作者所有