- 相關(guān)推薦
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ì)象操作來(lái)自提供者的數(shù)據(jù)。使用 ADO 時(shí),通過(guò) Recordset 對(duì)象可對(duì)幾乎所有數(shù)據(jù)進(jìn)行操作。所有 Recordset 對(duì)象均使用記錄(行)和字段(列)進(jìn)行構(gòu)造。由于提供者所支持的功能不同,某些 Recordset 方法或?qū)傩杂锌赡軣o(wú)效。
在 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 屬性來(lái)選擇游標(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),可以通過(guò)使用 Open 方法傳遞連接字符串,根據(jù)以前定義的 Connection 對(duì)象獨(dú)立地創(chuàng)建 Recordset 對(duì)象。ADO 仍然創(chuàng)建 Connection 對(duì)象,但它不將該對(duì)象賦給對(duì)象變量。不過(guò),如果正在相同的連接上打開多個(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 屬性來(lái)重新確定當(dāng)前記錄的位置。僅向前 Recordset 對(duì)象只支持 MoveNext 方法。當(dāng)使用 Move 方法訪問每個(gè)記錄(或枚舉 Recordset)時(shí),可使用 BOF 和 EOF 屬性查看是否移動(dòng)已經(jīng)超過(guò)了 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)文章:
思科認(rèn)證輔導(dǎo):詳解數(shù)據(jù)中心交換機(jī)的關(guān)鍵參數(shù)08-19
ASP提速技巧08-05
ASP編程實(shí)例大全05-29
常見的硬盤參數(shù)介紹06-25
that用法詳解11-20
as用法詳解07-21