游標
使用游標類型執行的速度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游標一起使用。它在更新時不會立即把更新過的記錄寫入到數據源中,而是把對許多條記錄所做的改動先放在客戶計算機中,然后把更新過的記錄作為一批寫入數據源