RS.Open SQL, CONN, A, BA: AdopenForwardonly (= 0) read-only, and current data records can only move AdopenKeySet (= 1) read-only, current data records can be free to move adopendynamic (= 2) readable writing The current data record is free to move adopenStatic (= 3) readable writing, the current data record is free to move, can see new record B: AdlockReadOnly (= 1) Default lock type, record set is read-only, can not be modified Record AdlockPESSIMISTIC (= 2) Pessimism, when modified records, the data provider will attempt to lock the record to ensure successfully editing the record. As long as the editing start, lock the record immediately. AdlockOptimistic (= 3) Optimistic lock until the record is locked when you submit an update record with an UPDATE method. Adlockbatchoptimistic (= 4) Batch optimism locks, allowing multiple records to be modified, only to lock the record only after calling the UpdateBatch method. When you don't need to change any record, you should use a read-only recordset, so provider doesn't have to do anything. For general use, optimistic locks may be the best choice, because records are only locked for a short period of time, and data is updated during this time. This reduces the use of resources.