例子
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) |
屬性集合的屬性
屬性 | 描述 |
---|---|
Count | 返回屬性集合中的項目數。 從零開始。 例: countprop = rs.Properties.Count |
Item(named_item/number) | 返回屬性集合中指定的項目。 例: itemprop = rs.Properties。 Item(1) |