複製鏈接
請複製以下鏈接發送給好友

records

鎖定
records是通過Recordset對象可對幾乎所有數據進行操作。所有Recordset對象均使用記錄(行)和字段(列)進行構造。
中文名
記錄,錄音,唱片公司
外文名
records
可使用 Recordset 對象操作來自提供者的數據。由於提供者所支持的功能不同,某些 Recordset 方法或屬性有可能無效。
ADOR.Recordset 和 ADODB.Recordset 是用來創建 Recordset 對象的 ProgID。由此產生的 Recordset 對象行為相同,與 ProgID 無關。ADOR.Recordset 隨 Microsoft® Internet Explorer 安裝,而 ADODB.Recordset 則隨 ADO 安裝。Recordset 對象的行為受環境(即客户端、服務器、Internet Explorer 等)的影響。這些差異將在屬性、方法和事件的“幫助”主題中加以説明。
在 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 對象。
可以創建所需數量的 Recordset 對象。
打開 Recordset 時,當前記錄位於第一個記錄(如果有),並且 BOF 和 EOF 屬性被設置為 False。如果沒有記錄,BOF 和 EOF 屬性設置是 True。
假設提供者支持相關的功能,可以使用 MoveFirst、MoveLast、MoveNext 和 MovePrevious 方法以及 Move 方法,和 AbsolutePosition、AbsolutePage 和 Filter 屬性來重新確定當前記錄的位置。僅向前 Recordset 對象只支持 MoveNext 方法。當使用 Move 方法訪問每個記錄(或枚舉 Recordset)時,可使用 BOF 和 EOF 屬性查看是否移動已經超過了 Recordset 的開始或結尾。
Recordset 對象可支持兩類更新:立即更新和批更新。使用立即更新,一旦調用 Update 方法,對數據的所有更改將被立即寫入基本數據源。也可以使用 AddNew 和 Update 方法將值的數組作為參數傳遞,同時更新記錄的若干字段。
如果提供者支持批更新,可以使提供者將多個記錄的更改存入緩存,然後使用 UpdateBatch 方法在單個調用中將它們傳送給數據庫。這種情況應用於使用 AddNew、Update 和 Delete 方法所做的更改。調用 UpdateBatch 方法後,可以使用 Status 屬性檢查任何數據衝突並加以解決。
注意 要執行不使用 Command 對象的查詢,應將查詢字符串傳遞給 Recordset 對象的 Open 方法。但是,在想要保持命令文本並重復執行或使用查詢參數時,仍然需要 Command 對象。