使用游标类型执行的速度
adOpenForwardOnly > adOpenDynamic > adOpenKeyset > adOpenStatic
游标类型有以下四种类型:
1、 AdOpenForwardOnly (默认值)一次只能向前移动一行。
2、 AdOpenKeyset 打开键集类型游标。
3、 AdOpenDynamic 打开动态类型游标
4、 AdOpenStatic 打开静态类型游标。
AdOpenForwardOnly和AdOpenStatic这两种游标使得记录集只读,它表示创建数据的一个快照。后者比前者灵活,因为它可以允许任意方向移动。
AdOpenKeyset允许任意移动,并且允许更改记录集。其他用户对记录集的添加和删除,这个游标反映不出来。但它能反映出其他用户对记录集的更改。
AdOpenDynamic允许所有操作,其他用户对记录集的添加、删除、更改在此记录集中
都是可见的。
LockType= adLockOptimistic
Options 省略
大家需要注意的是:当使用AdOpenKeyset时,要求记录集中每条记录都有唯一的关键字。否则,执行的结果就不是您所要的所有记录了。
清楚了游标类型,再来看看锁类型LockType
AdLockReadOnly (默认值)只读 --- 不能改变数据。
AdLockPessimistic 悲观锁(逐个)--- 为确保成功完成编辑记录所需的工作,
在编辑时立即锁定数据源的记录。
AdLockOptimistic 乐观锁(逐个)--- 只在调用Update 方法时才锁定记录。
AdLockBatchOptimistic 乐观批更新---用于批更新模式(与立即更新模式相对)。
对于悲观锁、乐观锁的解释:
乐观的锁策略是把记录必须加锁的时间减到最短,当用户对记录的内容进行编辑时,乐观锁不起作用,其他用户可以访问和编辑数据,但当其中的一个用户想要更新数据时,记录就会加上锁;
悲观的锁策略是当第一个用户打开记录进行编辑的时候,记录就会加锁,直到使用记录的用户解除锁时锁才不起作用。一旦悲观锁起作用,其他的用户就看不到数据,直到该锁被解除;
对于AdLockBatchOptimistic,只能与AdOpenKeyset游标一起使用。它在更新时不会立即把更新过的记录写入到数据源中,而是把对许多条记录所做的改动先放在客户计算机中,然后把更新过的记录作为一批写入数据源