ASP 游標(biāo)參數(shù)詳解記錄集
rs.open sql,conn,A,B
A:
ADOPenforwardonly (=0)
只讀,且當(dāng)前數(shù)據(jù)記錄只能向下移動(dòng)。
ADOPenkeyset (=1)
只讀,當(dāng)前數(shù)據(jù)記錄可自由移動(dòng)。
ADOpendynamic (=2)
可讀寫,當(dāng)前數(shù)據(jù)記錄可自由移動(dòng)。
ADOpenstatic (=3)
可讀寫,當(dāng)前數(shù)據(jù)記錄可自由移動(dòng),可看到新增記錄。
B:
ADLockreadonly (=1)
缺省鎖定類型,記錄集是只讀的,不能修改記錄。
ADLockpessimistic (=2)
悲觀鎖定,當(dāng)修改記錄時(shí),數(shù)據(jù)提供者將嘗試鎖定記錄以確保成功地編輯記錄,只要編輯一開 始,則立即鎖住記錄。
ADLockoptimitic (=3)
樂觀鎖定,直到用Update方法提交更新的記錄時(shí)才鎖定記錄。
ADLockbatchoptimistic (=4)
批量樂觀鎖定,允許修改多個(gè)記錄,只有調(diào)用UPDATE BATCH方法時(shí)才鎖定記錄。
當(dāng)不需要改動(dòng)任何記錄時(shí),應(yīng)該使用只讀的記錄集,這樣提供者不用做任何檢測(cè)。對(duì)于一般的使用,樂觀的鎖定可能是最好的選擇,因?yàn)橛涗浿槐绘i定一小段時(shí)間,數(shù)據(jù)在這段時(shí)間被更新。這就減少了資源的利用。
可使用 Recordset 對(duì)象操作來自提供者的數(shù)據(jù)。使用 ADO 時(shí),通過 Recordset 對(duì)象可對(duì)幾乎所有數(shù)據(jù)進(jìn)行操作。所有 Recordset 對(duì)象均使用記錄(行)和字段(列)進(jìn)行構(gòu)造。由于提供者所支持的功能不同,某些 Recordset 方法或?qū)傩杂锌赡軣o效。
在 ADO 中定義了四種不同的游標(biāo)類型:
動(dòng)態(tài)游標(biāo) ? 用于查看其他用戶所作的添加、更改和刪除,并用于不依賴書簽的 Recordset 中各種類型的移動(dòng)。如果提供者支持,可使用書簽。
鍵集游標(biāo) ? 其行為類似動(dòng)態(tài)游標(biāo),不同的只是禁止查看其他用戶添加的記錄,并禁止訪問其他用戶刪除的記錄,其他用戶所作的數(shù)據(jù)更改將依然可見。它始終支持書簽,因此允許 Recordset 中各種類型的移動(dòng)。
靜態(tài)游標(biāo) ? 提供記錄集合的靜態(tài)副本以查找數(shù)據(jù)或生成報(bào)告。它始終支持書簽,因此允許 Recordset 中各種類型的移動(dòng)。其他用戶所作的添加、更改或刪除將不可見。這是打開客戶端 (ADOR) Recordset 對(duì)象時(shí)唯一允許使用的游標(biāo)類型。
僅向前游標(biāo) ? 除僅允許在記錄中向前滾動(dòng)之外,其行為類似靜態(tài)游標(biāo)。這樣,當(dāng)需要在 Recordset 中單程移動(dòng)時(shí)就可提高性能。
在打開 Recordset 之前設(shè)置 CursorType 屬性來選擇游標(biāo)類型,或使用 Open 方法傳遞 CursorType 參數(shù)。部分提供者不支持所有游標(biāo)類型。請(qǐng)檢查提供者的文檔。如果沒有指定游標(biāo)類型,ADO 將默認(rèn)打開僅向前游標(biāo)。
如果 CursorLocation 屬性被設(shè)置為 adUseClient 后打開 Recordset,則在返回的` Recordset 對(duì)象中,F(xiàn)ield 對(duì)象的 UnderlyingValue 屬性不可用。對(duì)部分提供者(例如 Microsoft ODBC Provider for OLE DB 連同 Microsoft SQL Server),可以通過使用 Open 方法傳遞連接字符串,根據(jù)以前定義的 Connection 對(duì)象獨(dú)立地創(chuàng)建 Recordset 對(duì)象。ADO 仍然創(chuàng)建 Connection 對(duì)象,但它不將該對(duì)象賦給對(duì)象變量。不過,如果正在相同的連接上打開多個(gè) Recordset 對(duì)象,就應(yīng)該顯式創(chuàng)建和打開 Connection 對(duì)象,由此將 Connection 對(duì)象賦給對(duì)象變量。如果在打開 Recordset 對(duì)象時(shí)沒有使用該對(duì)象變量,即使在傳遞相同連接字符串的情況下,ADO 也將為每個(gè)新的 Recordset 創(chuàng)建新的 Connection 對(duì)象。
可以創(chuàng)建所需數(shù)量的 Recordset 對(duì)象。
打開 Recordset 時(shí),當(dāng)前記錄位于第一個(gè)記錄(如果有),并且 BOF 和 EOF 屬性被設(shè)置為 False。如果沒有記錄,BOF 和 EOF 屬性設(shè)置是 True。
假設(shè)提供者支持相關(guān)的功能,可以使用 MoveFirst、MoveLast、MoveNext 和 MovePrevious 方法以及 Move 方法,和 AbsolutePosition、AbsolutePage 和 Filter 屬性來重新確定當(dāng)前記錄的位置。僅向前 Recordset 對(duì)象只支持 MoveNext 方法。當(dāng)使用 Move 方法訪問每個(gè)記錄(或枚舉 Recordset)時(shí),可使用 BOF 和 EOF 屬性查看是否移動(dòng)已經(jīng)超過了 Recordset 的開始或結(jié)尾。
Recordset 對(duì)象可支持兩類更新:立即更新和批更新。使用立即更新,一旦調(diào)用 Update 方法,對(duì)數(shù)據(jù)的所有更改將被立即寫入基本數(shù)據(jù)源。也可以使用 AddNew 和 Update 方法將值的數(shù)組作為參數(shù)傳遞,同時(shí)更新記錄的若干字段。
如果提供者支持批更新,可以使提供者將多個(gè)記錄的更改存入緩存,然后使用 Upd
【ASP 游標(biāo)參數(shù)詳解記錄集】相關(guān)文章:
1.關(guān)于asp下Date Diff函數(shù)的參數(shù)說明
2.ASP.NET架構(gòu)及開發(fā)技術(shù)詳解教程
3.怎樣保管游標(biāo)卡尺-關(guān)于游標(biāo)卡尺的保管事項(xiàng)