網頁設計

當前位置 /首頁/設計製作/網頁設計/列表

ASP 遊標引數詳解記錄集

sql,conn,A,B

ASP 遊標引數詳解記錄集

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 物件。

可以建立所需數量的 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 方法將值的陣列作為引數傳遞,同時更新記錄的若干欄位。

如果提供者支援批更新,可以使提供者將多個記錄的更改存入快取,然後使用 Upd

TAG標籤:ASP 記錄集 引數 遊標 #