摘要:objRS.Open [Source] , [ActiveConnection] , [CursorType] , [LockType] , [Option]
CursorType , CursorLocation , LockType
| CursorType | Value |
| adOpenForwardOnly | 0 |
| adOpenKeySet | 1 |
| adOpenDynamic | 2 |
| adOpenStatic | 3 |
- adOpenForwardOnly : cursor 只能向前移動 . 所以 , 使用 objRS.MoveNext , objRS.MoveFirst 是可行的 , 但 objRS.MoveLast 等往後移的動作不被允許 . 用在列出所有資料的場合最為適合 , 速度快且耗用資源少 .
- adOpenKeySet : 所看到的 Recordset 是固定的 , 也就是說 , 雖然看不到其它使用者新增及刪除的資料 , 但仍然可以看到其它使用者對原本 Recordset 資料內容的更改 , 只是無法更動這些變化 . 此外 , Recordset 資料的排列順序是按照 Key 來決定 .
- adOpenDynamic : 所看到的 Recordset 不固定 , 隨時會有新增或刪除的資料 . 也可以看到其它使用者對資料的更改 .
- adOpenStatic : 使用這種模式會使得 Recordset 放在 Local 的記憶體中 , 若別的使用者改變資料 , 並不會反映 . 通常與 adUseClient 一起使用以產生 Disconnected Recordset .
| CursorLocation | Value |
| adUseServer | 2 |
| adUseClient | 2 |
| adUseClientBatch | 3 |
- adUseServer : cursor 由 Server 維護
- adUseClient : cursor 由 Client 維護 , 此選項只能與 adOpenStatic 一起使用
| LockType | Value |
| adLockReadOnly | 1 |
| adLockPessimistic | 2 |
| adLockOptimistic | 3 |
| adLockBatchOptimistic | 4 |
- adLockReadOnly : 唯讀的 Recordset . 因為只能讀 , 所以也就沒有 lock 的問題 .
- adLockPessimistic : 一但某筆資料開始被編輯 , 則鎖住它 , 直到 Update 完成之後為止 .
- adLockOptimistic : 只有在 Update 時才鎖定 .
- adLockBatchOptimistic : 只有在批次 Update 時才鎖定 .