ADO Recordset オブジェクト
- 前のページ ADO レコード
- 次のページ ADO Stream
インスタンス
- GetRows
- この例では、GetRows メソッドの使用方法を示します。
Recordset オブジェクト
ADO Recordset オブジェクトは、データベースのテーブルから取得したレコードセットを格納します。Recordset オブジェクトはレコードと列(フィールド)で構成されています。
ADOでは、このオブジェクトは最も重要で、データベースの操作に最もよく使用されるオブジェクトです。
ProgID
set objRecordset=Server.CreateObject("ADODB.recordset")
最初に Recordset を開いた場合、現在のレコードポインタは最初のレコードに指し、 BOF と EOF 属性は False です。レコードがない場合、BOF と EOF 属性は True です。
Recordset オブジェクトは、2種類の更新タイプをサポートしています:
- 即時更新 - Update メソッドが呼び出された場合、すべての変更が即座にデータベースに書き込まれます。
- バッチ更新 - プロバイダーは複数の変更をキャッシュし、それらの変更を UpdateBatch メソッドを使用してデータベースに送信します。
ADOでは、4種類の異なるカーソル(ポインタ)タイプが定義されています:
- ドラティングカーソル - 他のユーザーが行った追加、変更、削除を確認することができます。
- キースタックカーソル - ドラティングカーソルに似ていますが、他のユーザーが行った追加を確認することができず、他のユーザーが削除したレコードにアクセスを防ぎます。他のユーザーが行ったデータの変更は見えます。
- 静的カーソル - レコードセットの静的コピーを提供し、データの検索やレポートの作成に使用できます。他のユーザーが行った追加、変更、削除は見えません。クライアントのレコードセットオブジェクトを開く際にのみ許可されるカーソルタイプです。
- 前方のみカーソル - レコードセット内で前方にのみスクロールすることが許可されます。他のユーザーが行った追加、変更、削除は見えません。また、他のユーザーが行った追加、変更、削除は見えません。クライアントのレコードセットオブジェクトを開く際にのみ許可されるカーソルタイプです。
CursorTypeプロパティまたはOpenメソッドのCursorTypeパラメータでカーソルのタイプを設定できます。
注:すべてのプロバイダーがレコードセットオブジェクトのすべてのメソッドとプロパティをサポートしているわけではありません。
属性
属性 | 説明 |
---|---|
AbsolutePage | レコードセットオブジェクト中のページを指定する値を設定または返します。 |
AbsolutePosition | レコードセットオブジェクト中の現在のレコードの順序位置(番号位置)を指定する値を設定または返します。 |
ActiveCommand | レコードセットオブジェクトに関連付けられている Command オブジェクトを返します。 |
ActiveConnection | 接続が閉じられている場合、接続の定義を設定または返します。接続が開いている場合、現在の Connection オブジェクトを設定または返します。 |
BOF | 現在のレコードの場所が最初のレコードの前にある場合に true を返し、それ以外の場合 false を返します。 |
Bookmark | 現在のレコードの場所を保存するバックマークを設定または返します。 |
CacheSize | キャッシュされるレコードの数を設定または返します。 |
CursorLocation | カーソルサービスの場所を設定または返します。 |
CursorType | レコードセットオブジェクトのカーソルタイプを設定または返します。 |
DataMember | DataSource属性から参照するオブジェクトから取得するデータメンバーの名前を設定または返します。 |
DataSource | レコードセットオブジェクトとして表示されるデータを含むオブジェクトを指定します。 |
EditMode | 現在のレコードの編集状態を返します。 |
EOF | 現在のレコードの位置が最後のレコードの後にある場合に true を返し、それ以外の場合 false を返します。 |
Filter | レコードセットオブジェクト中のデータに対するフィルタを返します。 |
Index | レコードセットオブジェクトの現在のインデックスの名前を設定または返します。 |
LockType | レコードセットの1つのレコードを編集する際に、ロックタイプを指定する値を設定または返します。 |
MarshalOptions | サーバーに返されるレコードを指定する値を設定または返します。 |
MaxRecords | クエリから返されるRecordsetオブジェクトの最大レコード数を設定または返します。 |
PageCount | Recordsetオブジェクト内のデータページ数を返します。 |
PageSize | Recordsetオブジェクトの単一ページに許可される最大レコード数を設定または返します。 |
RecordCount | Recordsetオブジェクト内のレコード数を返します。 |
Sort | Recordsetのソート基準となる一つまたは複数のフィールド名を設定または返します。 |
Source | 文字列値を設定または返します。この値は、Recordsetオブジェクトのデータソースを示します。 |
State | Recordsetオブジェクトがオープン、クローズ、接続中、実行中、データを取得中であるかどうかを示す値を返します。 |
Status | バッチ更新や大量の操作の現在のレコードの状態に関する情報を返します。 |
StayInSync | 親レコードの位置が変わったときに子レコードの参照が変わるかどうかを設定または返します。 |
メソッド
メソッド | 説明 |
---|---|
AddNew | 新しいレコードを作成します。 |
Cancel | 一つの実行を取り消します。 |
CancelBatch | 一つのバッチ更新を取り消します。 |
CancelUpdate | Recordsetオブジェクトの一条レコードに対して行った変更を取り消します。 |
Clone | 既存のRecordsetのコピーを作成します。 |
Close | Recordsetを閉じます。 |
CompareBookmarks | 二つのブックマークを比較します。 |
Delete | 一つのレコードまたは複数のレコードを削除します。 |
Find | 指定された条件を満たすレコードを一つ検索します。 |
GetRows | 多条レコードを一つのRecordsetオブジェクトから2次元配列にコピーします。 |
GetString | Recordsetを文字列として返します。 |
Move | Recordsetオブジェクト内でレコード指標を移動します。 |
MoveFirst | レコード指標を最初のレコードに移動します。 |
MoveLast | レコード指標を最後のレコードに移動します。 |
MoveNext | レコード指標を次のレコードに移動します。 |
MovePrevious | レコード指標を前のレコードに移動します。 |
NextRecordset | 一連のコマンドを実行することで、現在のRecordsetオブジェクトをクリアし、次のRecordsetに戻ります。 |
Open | データベース要素を開き、その要素はテーブルのレコード、クエリの結果、または保存されたRecordsetへのアクセスを提供できます。 |
Requery | Recordset オブジェクト内のデータを更新するために、そのオブジェクトに基づくクエリを再実行します。 |
Resync | 現在の Recordset 内のデータを元のデータベースからリフレッシュします。 |
Save | Recordset オブジェクトをファイルや Stream オブジェクトに保存します。 |
Seek | Recordset のインデックスを検索し、指定された値に一致する行を素早く定位し、それを現在行にします。 |
Supports | 布尔値を返し、その値は Recordset オブジェクトが特定の機能をサポートしているかどうかを定義します。 |
Update | Recordset オブジェクト内の一条のレコードに対して行ったすべての変更を保存します。 |
UpdateBatch | すべての Recordset 内の変更をデータベースに保存します。バッチ更新モードで使用してください。 |
イベント
注意: VBScript や JScript を使用してイベントをハンドルすることはできません(Visual Basic、Visual C++、Visual J++ 言語のみでイベントをハンドルできます)。
イベント | 説明 |
---|---|
EndOfRecordset | Recordset の終わりより後の行に移動しようと試みたときにトリガーされます。 |
FetchComplete | アシスト操作中のすべてのレコードが読み込まれた後にトリガーされます。 |
FetchProgress | アシスト操作中に定期的にトリガーされ、読み込んだレコード数を報告します。 |
FieldChangeComplete | Field オブジェクトの値が変更された後にトリガーされます。 |
MoveComplete | Recordset 内の現在位置が変更された後にトリガーされます。 |
RecordChangeComplete | 一条のレコードが変更された後にトリガーされます。 |
RecordsetChangeComplete | Recordset が変更された後にトリガーされます。 |
WillChangeField | Field オブジェクトの値が変更される前にトリガーされます。 |
WillChangeRecord | 一条のレコードが変更される前にトリガーされます。 |
WillChangeRecordset | Recordset が変更される前にトリガーされます。 |
WillMove | Recordset 内の現在位置が変更される前にトリガーされます。 |
コレクション
コレクション | 説明 |
---|---|
Fields | この Recordset オブジェクト内の Field オブジェクトの数を示します。 |
Properties | すべての Recordset オブジェクトに含まれる Property オブジェクトを含みます。 |
Fields コレクションの属性
属性 | 説明 |
---|---|
Count |
fields コレクション内の項目の数を返します。0から始まります。 例: countfields = rs.Fields.Count |
Item(named_item/number) |
fields コレクション内の特定の項目を返します。 例: itemfields = rs.Fields.Item(1) または itemfields = rs.Fields.Item("Name") |
Properties コレクションの属性
属性 | 説明 |
---|---|
Count |
properties コレクション内の項目の数を返します。0から始まります。 例: countprop = rs.Properties.Count |
Item(named_item/number) |
properties コレクション内の特定の項目を返します。 例: itemprop = rs.Properties.Item(1) または itemprop = rs.Properties.Item("Name") |
- 前のページ ADO レコード
- 次のページ ADO Stream