rs.open sql,conn,A,B
A:
ADOPenforwardonly (=0)
只讀,且當前數據記錄只能向下移動。
ADOPenkeyset (=1)
只讀,當前數據記錄可自由移動。
ADOpendynamic (=2)
可讀寫,當前數據記錄可自由移動。
ADOpenstatic (=3)
可讀寫,當前數據記錄可自由移動,可看到新增記錄。
B:
ADLockreadonly (=1)
缺省鎖定類型,記錄集是只讀的,不能修改記錄。
ADLockpessimistic (=2)
悲觀鎖定,當修改記錄時,數據提供者將嘗試鎖定記錄以確保成功地編輯記錄,只要編輯一開始,則立即鎖住記錄。
ADLockoptimitic (=3)
樂觀鎖定,直到用Update方法提交更新的記錄時才鎖定記錄。
ADLockbatchoptimistic (=4)
批量樂觀鎖定,允許修改多個記錄,只有調用UPDATE BATCH方法時才鎖定記錄。
當不需要改動任何記錄時,應該使用只讀的記錄集,這樣提供者不用做任何檢測。對於一般的使用,樂觀的鎖定可能是最好的選擇,因為記錄只被鎖定一小段時間,數據在這段時間被更新。這就減少了資源的利用。
可使用Recordset 對像操作來自提供者的數據。使用ADO 時,通過Recordset 對象可對幾乎所有數據進行操作。所有Recordset 對象均使用記錄(行)和字段(列)進行構造。由於提供者所支持的功能不同,某些Recordset 方法或屬性有可能無效。
在ADO 中定義了四種不同的游標類型:
動態游標? 用於查看其他用戶所作的添加、更改和刪除,並用於不依賴書籤的Recordset 中各種類型的移動。如果提供者支持,可使用書籤。
鍵集游標? 其行為類似動態游標,不同的只是禁止查看其他用戶添加的記錄,並禁止訪問其他用戶刪除的記錄,其他用戶所作的數據更改將依然可見。它始終支持書籤,因此允許Recordset 中各種類型的移動。
靜態游標? 提供記錄集合的靜態副本以查找數據或生成報告。它始終支持書籤,因此允許Recordset 中各種類型的移動。其他用戶所作的添加、更改或刪除將不可見。這是打開客戶端(ADOR) Recordset 對象時唯一允許使用的游標類型。
僅向前游標? 除僅允許在記錄中向前滾動之外,其行為類似靜態游標。這樣,當需要在Recordset 中單程移動時就可提高性能。
在打開Recordset 之前設置CursorType 屬性來選擇游標類型,或使用Open 方法傳遞CursorType 參數。部分提供者不支持所有游標類型。請檢查提供者的文檔。如果沒有指定游標類型,ADO 將默認打開僅向前游標。
如果CursorLocation 屬性被設置為adUseClient 後打開Recordset,則在返回的Recordset 對像中,Field 對象的UnderlyingValue 屬性不可用。對部分提供者(例如Microsoft ODBC Provider for OLE DB 連同Microsoft SQL Server),可以通過使用Open 方法傳遞連接字符串,根據以前定義的Connection 對象獨立地創建Recordset 對象。 ADO 仍然創建Connection 對象,但它不將該對象賦給對像變量。不過,如果正在相同的連接上打開多個Recordset 對象,就應該顯式創建和打開Connection 對象,由此將Connection 對象賦給對像變量。如果在打開Recordset 對象時沒有使用該對像變量,即使在傳遞相同連接字符串的情況下,ADO 也將為每個新的Recordset 創建新的Connection 對象。