如果單單是讀取,不涉及更新操作,那就用1,1
如果涉及讀取及更新操作,可以用1,3 或3,2
Recordset對象的Open方法原型:
Open([Source],[ActiveConnection],[CursorType],[LockType],[Options])
CursorType遊標類型:
Const adOpenForwardOnly = 0
前向遊標,為預設遊標,提供最快的運行效能。用它開啟recordset,從對至尾順序取得所有結果。它不支援向後滾動,只允許在結果間單向移動。
Const adOpenKeyset = 1
靜態資料指標,反映第一次開啟遊標時表中資料的狀態,遊標無法查明底層表中的資料行是否更新過、刪除過或添加了新的資料。不過與只能前移的洲標不同,靜態資料指標可以在結果間前後滾動。
Const adOpenDynamic = 2
鍵盤驅動的遊標,可以查詢表中底層資料行的某些變化,但不是全部。它特別是可以準確反映資料是否更新過。但它不能查明其它使用者是否曾刪除過資料行(刪除掉的資料行在recordset中會留下空洞)。鍵盤驅動的遊標支援在結果間前後滾動。
Const adOpenStatic = 3
動態資料指標,是最豐富的遊標類型。遊標開啟時可以查詢其他使用者對錶的任何改動,而且支援滾動。
LockType加鎖類型:
Const adLockReadOnly = 1
預設的上鎖類型,唯讀方式上鎖允許多個使用者同時讀取同樣的資料,但不能改變資料。
Const adLockPessimistic = 2
以悲觀上鎖方式開啟資料對象。該方式假定在你編輯記錄時會有其它使用者訪問資料。此時一旦你開始編輯記錄,其它使用者就不能訪問該資料。
Const adLockOptimistic = 3
以樂觀上鎖方式開啟資料對象。該方式假定在你編輯記錄時不會有其它使用者訪問資料。在完成改變之前,其它使用者不能訪問該記錄。
Const adLockBatchOptimistic = 4
執行多行批處理更新時使用這種類型
Options參數:
Options參數標明用來開啟記錄集的命令字串的類型。告訴ADO被執行的字串內容的有關資訊有助於高效地執行該命令字串。
adCMDTable。被執行的字串包含一個表的名字。
adCMDText。被執行的字串包含一個命令文本。
adCMDStoredProc。被執行的字串包含一個預存程序名。
adCMDUnknown。不指定字串的內容。(這是預設值。)
簡單點就是:
?
RS.OPEN SQL,CONN,A,B
A: ADOPENFORWARDONLY(=0) 唯讀,且當前資料記錄只能向下移動
ADOPENSTATIC(=3) 唯讀,當前資料記錄可自由移動
ADOPENKEYSET(=1) 可讀寫,當前資料記錄可自由移動
ADOPENDYNAMIC(=2) 可讀寫,當前資料記錄可自由移動,可看到新增記錄
B: ADLOCKREADONLY(=1) 預設值,用來開啟唯讀記錄
ADLOCKPESSIMISTIC(=2) 悲觀鎖定
ADLOCKOPTIMISTIC(=3) 樂觀鎖定
ADLOCKBATCHOPTIMISTIC(=4) 批次樂觀鎖定