這篇文章主要介紹了adodb.recordset.open(rs.open)方法參數詳解,需要的朋友可以參考下
ADO Recordset 對象
ADO Recordset 物件用於容納一個來自資料庫表的記錄集。一個Recordset 物件由記錄和列(欄位)組成。
在ADO 中,此物件是最重要且最常用於對資料庫的資料進行操作的物件。
ProgID
set objRecordset=Server.CreateObject(ADODB.recordset)
當您首次開啟一個Recordset 時,目前記錄指標將指向第一個記錄,同時BOF 和EOF 屬性為False。如果沒有記錄,BOF 和EOF 屬性為True。
Recordset 物件能夠支援兩種更新類型:
立即更新- 一旦呼叫Update 方法,所有變更都會立即寫入資料庫。批次更新- provider 將快取多個更改,然後使用UpdateBatch 方法把這些更改傳送到資料庫。
在ADO,定義了4 中不同的遊標(指標)類型:
•動態遊標- 讓您可以查看其他使用者所做的新增、變更和刪除
•鍵集遊標- 類似動態遊標,不同的是您無法查看有其他使用者所做的添加,並且它會防止您訪問其他使用者已刪除的記錄。其他用戶所做的數據更改仍然是可見的。
•靜態遊標- 提供記錄集的靜態副本,可用來尋找資料或產生報表。此外,由其他使用者所做的新增、變更和刪除將是不可見的。當您開啟一個客戶端Recordset 物件時,這是唯一被允許的遊標類型。
•僅向前遊標- 只允許在Recordset 中向前滾動。此外,由其他使用者所做的新增、變更和刪除將是不可見的。
可透過CursorType 屬性或Open 方法中的CursorType 參數來設定遊標的類型。
註:並非所有的提供者(providers)支援Recordset 物件的所有方法和屬性。
想了解更多ADO Recordset 物件的朋友可以到這裡查看更多內容。
如果單單是讀取,不涉及更新操作,那就用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) 批次樂觀鎖定