當前位置:學問君>人在職場>電腦培訓>

ASP 遊標參數詳解記錄集

學問君 人氣:2.05W

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