最新的Web開發教程
 

ADO Recordset對象


例子

GetRows的
這個例子演示了如何使用GetRows方法。


Recordset對象

ADO Recordset對象用於從數據庫表中持有的記錄集。 一個Recordset對象包括記錄和列(fields)

在ADO,這個對象是最重要和最常用來從數據庫中的數據進行操作。

進程id

set objRecordset=Server.CreateObject("ADODB.recordset")

當你第一次打開一個記錄,當前記錄指針將指向第一個記錄,BOF和EOF屬性都是假的。 如果沒有記錄,BOF和EOF屬性為True。

Recordset對象可支持兩種類型的更新:

  • Immediate updating -一旦調用Update方法,所有更改會立即寫入數據庫。
  • Batch updating -提供者將緩存多個更改,然後將其發送到與UpdateBatch方法的數據庫。

在ADO有定義4種不同類型的光標:

  • Dynamic cursor -允許其他用戶看到添加,修改和刪除。
  • Keyset cursor -像一個動態游標,但你不能看到其他用戶添加的,並防止對其他用戶已刪除的記錄訪問。 其他用戶的數據更改依然可見。
  • Static cursor -提供記錄集的靜態副本供你使用,以查找數據或生成報告。 添加,更改或由其他用戶刪除將不可見。 這是光標當您打開一個客戶端Recordset對象允許的唯一類型。
  • Forward-only cursor -您只可以通過記錄向前滾動。 添加,更改或由其他用戶刪除將不可見。

光標類型可以通過CursorType屬性或通過在打開方法的的CursorType參數來設置。

Note:並非所有提供支持Recordset對象的所有方法或屬性。


屬性

屬性 描述
AbsolutePage 設置或返回指定Recordset對象中的頁面數的值
AbsolutePosition 設置或者返回指定在記錄對象的當前記錄的順序位置的值
ActiveCommand 返回與記錄相關聯的Command對象
ActiveConnection 設置或返回的連接的定義,如果連接被關閉,或當前的連接對象,如果連接是打開
BOF 如果當前記錄位置在第一條記錄之前,則返回true,否則為false
Bookmark 設置或返回一個書籤。 書籤保存當前記錄的位置
CacheSize 設置或返回,可以被緩存的記錄數
CursorLocation 設置或返回游標服務的位置
CursorType 設置或返回一個記錄對象的光標類型
DataMember 設置或返回將與由所述數據源屬性引用的對象被檢索的數據成員的名稱
DataSource 指定包含數據的對象,以被表示為記錄對象
EditMode 返回當前記錄的編輯狀態
EOF 如果當前記錄位置是最後一個記錄後返回true,否則為false
Filter 設置或在一個記錄對象返回的數據的過濾器
Index 設置或返回當前索引的名稱為Recordset對象
LockType 設置或返回的記錄編輯一條記錄時,指定鎖的類型的值
MarshalOptions 設置或返回指定哪些記錄將被返回給服務器的值
MaxRecords 設置或返回的記錄的最大數目從查詢返回Recordset對象
PageCount 返回Recordset對象的數據頁面的數量
PageSize 設置或返回的允許Recordset對象的單個頁面上的最大記錄數
RecordCount 返回Recordset對象的記錄數
Sort 在記錄設置或返回的字段名稱進行排序
Source 設置一個字符串值或命令對象引用,或返回一個字符串值,表示記錄對象的數據源
State 返回描述如果記錄對象是打開的值,關閉,連接,執行或檢索數據
Status 返回當前記錄的狀態進行批量更新或大量操作
StayInSync 設置或返回是否參考子記錄將改變父記錄位置改變時

方法

方法 描述
AddNew 創建一個新的紀錄
Cancel 取消執行
CancelBatch 取消批量更新
CancelUpdate

取消對Recordset對象的記錄所做的更改

Clone 創建現有記錄的副本
Close 關閉一個記錄
CompareBookmarks 比較兩個書籤
Delete 刪除一條記錄或一組記錄
Find 搜索記錄集中的記錄滿足指定條件
GetRows 拷貝從一個記錄對象的多個記錄成二維陣列
GetString 返回一個記錄作為字符串
Move 移動記錄指針在Recordset對象
MoveFirst 移動記錄指針到第一條記錄
MoveLast 移動記錄指針到最後一條記錄
MoveNext 移動記錄指針到下一條記錄
MovePrevious 移動記錄指針到上一條記錄
NextRecordset 清除當前記錄對象並通過一個循環執行一系列指令返回下一個記錄對象
Open 打開,讓您可以訪問記錄表,查詢結果的數據庫元素,或將保存的記錄
Requery 通過重新執行對象所基於記錄的查詢更新一個記錄數據
Resync 從原始數據庫刷新當前記錄的數據
Save 保存Recordset對象的文件或Stream對象
Seek 搜索記錄集的索引來查找一個指定的值一致的記錄
Supports 返回定義一個記錄對象是否支持特定類型的功能的布爾值
Update 保存在Recordset對象的單個記錄所做的所有更改
UpdateBatch 保存在記錄到數據庫的所有變化。 在批量更新模式下工作時使用

活動

Note:您不能處理使用VBScript或JScript(僅適用於Visual Basic中的Visual C ++和Visual J ++語言可以處理的事件)的事件。

事件 描述
的EndOfRecordset 觸發,當你嘗試的最後一個記錄後移動到一個記錄
FetchComplete 觸發後在異步操作的所有記錄都被取出
FetchProgress 在異步操作週期性的激發,說出多少條記錄已經被取出
FieldChangeComplete Field對象變化的值後觸發
MoveComplete 觸發記錄集中的當前位置已更改後
RecordChangeComplete 觸發後的記錄已改變
RecordsetChangeComplete 觸發記錄更改後
WillChangeField Field對象變化值之前觸發
WillChangeRecord 一個記錄更改之前觸發
WillChangeRecordset 一個記錄更改之前觸發
WillMove 在記錄變化的當前位置之前觸發

集合

採集 描述
Fields 表示在記錄對象字段的對象的數量
Properties 包含Recordset對象中的所有屬性對象

Fields集合的屬性

屬性 描述
Count 返回字段集合中的項目數。 從零開始。

例:

countfields:案例

Item(named_item/number) 返回字段集合中指定的項目。

例:

itemfields = rs.Fields。 Item(1)
要么
itemfields = rs.Fields。 Item("Name")

屬性集合的屬性

屬性 描述
Count 返回屬性集合中的項目數。 從零開始。

例:

countprop = rs.Properties.Count

Item(named_item/number) 返回屬性集合中指定的項目。

例:

itemprop = rs.Properties。 Item(1)
要么
itemprop = rs.Properties。 Item("Name")