次の方法で共有


CRecordset クラス

更新 : 2007 年 11 月

データ ソースから選択された 1 組のレコードセットを表現します。

class CRecordset : public CObject

解説

"レコードセット" として知られている CRecordset オブジェクトは、通常、ダイナセットとスナップショットの 2 つの形式で利用できます。ダイナセットは、ほかのユーザーによる更新との同期をとります。スナップショットはデータの静的なビューです。どちらの形式もレコードセットを開いた時点では固定のレコードの組み合わせを表しますが、ダイナセットでレコードをスクロールすると、ほかのユーザーや同一のアプリケーションのほかのレコードセットが行った変更がレコードに反映されます。

92bcy0kw.alert_note(ja-jp,VS.90).gifメモ :

ODBC (Open Database Connectivity) クラスではなく、DAO (Data Access Objects) クラスを使用して作業する場合は、代わりに CDaoRecordset クラスを使用します。詳細については、「データ アクセス プログラミング」を参照してください。

どちらのレコードセットを使うにしても、アプリケーション固有のレコードセット クラスを CRecordset から派生する必要があります。レコードセットはデータ ソースからレコードを選択します。レコードセットを使って次のことができます。

  • レコード間のスクロール。

  • レコードの更新とロック モードの指定。

  • データ ソースで利用できるレコードからどのレコードを選択するかを制限するためのレコードセットのフィルタ。

  • レコードセットの並べ替え。

  • レコードセットをパラメータ化し、実行時までは不明な情報を使用して選択をカスタマイズします。

派生したクラスを使うには、データベースを開き、CDatabase オブジェクトへのポインタをコンストラクタに渡してレコードセット オブジェクトを作成します。その後、ダイナセットかスナップショットかを指定して、レコードセットの Open メンバ関数を呼び出します。呼び出された Open 関数は、データ ソースからデータを選択します。レコードセット オブジェクトを開いた後、メンバ関数とデータ メンバを使用して、レコードをスクロールし、操作します。レコードをスクロールし操作するには、オブジェクトのメンバ関数やデータ メンバを使います。利用できる操作は、オブジェクトがダイナセットかスナップショットか、更新可能か読み込み専用かによって決まります。オブジェクトが更新可能か読み込み専用かは、ODBC (Open Database Connectivity) データ ソースの能力と、バルク行フェッチを実装したかどうかに依存します。Open 関数を呼び出した後の変更や追加を再表示するには Requery メンバ関数を呼び出します。レコードセットを使用した作業を終了するときはオブジェクトの Close メンバ関数を呼び出し、オブジェクトを破棄します。

CRecordset の派生クラスでは、RFX (レコード フィールド エクスチェンジ) または Bulk RFX (バルク レコード フィールド エクスチェンジ) を利用して、レコード フィールドの読み込みや更新をサポートします。

レコードセットとレコード フィールド エクスチェンジの詳細については、「データ アクセス プログラミング」、「レコードセット (ODBC)」、「レコードセット : バルク行フェッチ (ODBC)」および「レコード フィールド エクスチェンジ (RFX)」を参照してください。ダイナセットとスナップショットについての重点的な解説は、「ダイナセット」と「スナップショット」を参照してください。

必要条件

ヘッダー : afxdb.h

スマート デバイス開発者のためのメモ

このクラスは、スマート デバイス プロジェクトではサポートされません。

参照

参照

CObject クラス

階層図

CDatabase クラス

CRecordView クラス

その他の技術情報

CRecordset のメンバ