ASP 遊標參數詳解(ASP記錄集)第1/2頁

來源:互聯網
上載者:User

rs.open sql,conn,A,B
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 方法將值的數組作為參數傳遞,同時更新記錄的若干欄位。
如果提供者支援批更新,可以使提供者將多個記錄的更改存入緩衝,然後使用 UpdateBatch 方法在單個調用中將它們傳送給資料庫。這種情況應用於使用 AddNew、Update 和 Delete 方法所做的更改。調用 UpdateBatch 方法後,可以使用 Status 屬性檢查任何資料衝突並加以解決。
注意 要執行不使用 Command 對象的查詢,應將查詢字串傳遞給 Recordset 對象的 Open 方法。但是,在想要保持命令文本並重複執行或使用查詢參數時,仍然需要 Command 對象。
AddNew 建立可更新的 Recordset 對象的新記錄。
Append 將對象追加到集合中。如果集合是 Fields,可以先建立新的 Field 對象然後再將其追加到集合中。
AppendChunk 將資料追加到大型文本、位元據 Field 或 Parameter 對象。
BeginTrans、CommitTrans 和 RollbackTrans 按如下方式管理 Connection 對象中的事務進程:
BeginTrans ? 開始新事務。
CommitTrans ? 儲存任何更改並結束當前事務。它也可能啟動新事務。
RollbackTrans ? 取消當前事務中所作的任何更改並結束事務。它也可能啟動新事務。
Cancel 取消執行掛起的、非同步 Execute 或 Open 方法調用。
Cancel (RDS) 取消當前啟動並執行非同步執行或擷取。
CancelBatch 取消掛起的批更新。
CancelUpdate 取消在調用 Update 方法前對目前記錄或新記錄所作的任何更改。
CancelUpdate (RDS) 放棄與指定 Recordset 對象關聯的所有掛起更改,從而恢複上一次調用 Refresh 方法之後的值。
Clear 刪除集合中的所有對象。
Clone 建立與現有 Recordset 對象相同的複製 Recordset 對象。可選擇指定該副本為唯讀。
Close 關閉開啟的對象及任何相關對象。
CompareBookmarks 比較兩個書籤並返回它們相差值的說明。
ConvertToString 將 Recordset 轉換為代表記錄集資料的 MIME 字串。
CreateObject (RDS) 建立目標業務對象的代理並返回指向它的指標。
CreateParameter 使用指定屬性建立新的 Parameter 對象。
CreateRecordset (RDS) 建立未串連的空 Recordset。
Delete (ADO Parameters Collection) 從 Parameters 集合中刪除對象。
Delete (ADO Fields Collection) 從 Fields 集合刪除對象。
Delete (ADO Recordset) 刪除目前記錄或記錄組。
Execute (ADO Command) 執行在 CommandText 屬性中指定的查詢、SQL 陳述式或預存程序。
Execute (ADO Connection) 執行指定的查詢、SQL 陳述式、預存程序或特定提供者的文本等內容。
Find 搜尋 Recordset 中滿足指定標準的記錄。
GetChunk 返回大型文本或位元據 Field 對象的全部或部分內容。
GetRows 將 Recordset 對象的多個記錄恢複到數組中。
GetString 將 Recordset 按字串返回。
Item 根據名稱或序號返回集合的特定成員。
Move 移動 Recordset 對象中目前記錄的位置。
MoveFirst、MoveLast、MoveNext 和 MovePrevious 移動到指定 Recordset 對象中的第一個、最後一個、下一個或前一個記錄並使該記錄成為目前記錄。
MoveFirst、MoveLast、MoveNext、MovePrevious (RDS) 移動到顯示的 Recordset 中的第一個、最後一個、下一個或前一個記錄。
NextRecordset 清除當前 Recordset 對象並通過提前命令序列返回下一個記錄集。
Open (ADO Connection) 開啟到資料來源的串連。
Open (ADO Recordset) 開啟遊標。
OpenSchema 從提供者擷取資料庫模式資訊。
Query (RDS) 使用有效 SQL 查詢字串返回 Recordset。
Refresh 更新集合中的對象以便反映來自提供者的可用對象以及特定於提供者的對象。
Refresh (RDS) 對在 Connect 屬性中指定的 ODBC 資料來源進行再查詢並更新查詢結果。
Requery 通過重新執行對象所基於的查詢,更新 Recordset 對象中的資料。
Reset (RDS) 根據指定的排序和篩選屬性對用戶端 Recordset 執行排序或篩選操作。
Resync 從基本資料庫重新整理當前 Recordset 對象中的資料。
Save (ADO Recordset) 將 Recordset 儲存(持久)在檔案中。
Seek 搜尋 Recordset 的索引以便快速定位與指定值相匹配的行,並將當前行的位置更改為該行。
SubmitChanges (RDS) 將本機快取的可更新 Recordset 的掛起更改提交到在 Connect 屬性中指定的 ODBC 資料來源中。
Supports 確定指定的 Recordset 對象是否支援特定類型的功能。
Update 儲存對 Recordset 對象的目前記錄所做的所有更改。
UpdateBatch 將所有掛起的批更新寫入磁碟。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.