While the characteristics of a cursor depend upon capabilities of the provider, the following advantages and disadvantages generally apply to the various types of cursors and locks.
Cursor or lock type
Advantages
Disadvantages
adOpenForwardOnly
Low resource requirements
Cannot scroll backward
No data concurrency
adOpenStatic
Scrollable
No data concurrency
adOpenKeyset
Some data concurrency
Scrollable
Higher resource requirements
Not available in disconnected scenario
adOpenDynamic
High data concurrency
Scrollable
Highest resource requirements
Not available in disconnected scenario
adLockReadOnly
Low resource requirements
Highly scalable
Data not updatable through cursor
adLockBatchOptimistic
Batch updates
Allows disconnected scenarios
Other users able to access data
Data can be changed by multiple users at once
adLockPessimistic
Data cannot be changed by other users while locked
Prevents other users from accessing data while locked