レコード フィールド エクスチェンジ : RFX の使い方

更新 : 2007 年 11 月

このトピックでは、フレームワークの動作に関連した RFX の使用方法について説明します。

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

このトピックの内容は、バルク行フェッチが実装されていない CRecordset の派生クラスを対象にしています。バルク行フェッチを使用している場合は、バルク レコード フィールド エクスチェンジ (Bulk RFX: Bulk Record Field Exchange) が実装されています。Bulk RFX と RFX は似ています。両者の差異については、「レコードセット : バルク行フェッチ (ODBC)」を参照してください。

関連情報については、次のトピックを参照してください。

次の表に、フレームワークが行う処理とプログラマが行う作業を示します。

RFX の使い方とフレームワークの動作

プログラマの役割

フレームワークの役割

ウィザードを使って、レコードセット クラスを宣言します。フィールド データ メンバの名前とデータ型を指定します。

ウィザードは、CRecordset クラスを派生し、オーバーライド関数 DoFieldExchange を作成します。オーバーライド関数 DoFieldExchange の中で、フィールド データ メンバごとに RFX 関数が呼び出されます。

(省略可能) 必要なパラメータ データ メンバをクラスに手動で追加します。パラメータ データ メンバごとに、RFX 関数呼び出しを手作業で DoFieldExchange に追加します。パラメータのグループに対しては、CFieldExchange::SetFieldType への呼び出しを追加し、パラメータの総数を m_nParams で指定します。「レコードセット : パラメータを利用したレコードセット (ODBC)」を参照してください。

 

(省略可能) テーブル列とフィールド データ メンバを直接 (ウィザードを使わずに) 結び付けて、m_nFields の値を増やします。「レコードセット : データ列を動的に結び付ける方法 (ODBC)」を参照してください。

 

レコードセット クラスのオブジェクトを構築します。パラメータ データ メンバがあるときは、オブジェクトを使用する前にその値を設定します。

処理を効率化するため、フレームワークでは ODBC を使ってあらかじめパラメータをデータ ソースに結び付けておきます。パラメータの値が与えられると、フレームワークはその値をデータ ソースに渡します。並べ替え/フィルタ文字列を変更しない限り、クエリの再実行時にはパラメータ値だけが送られます。

CRecordset::Open を使ってレコードセット オブジェクトを開きます。

レコードセットのクエリを実行し、列をレコードセットのフィールド データ メンバに結び付けます。DoFieldExchange を呼び出して、最初に選択されたレコードとレコードセットのフィールド データ メンバ間でデータを交換します。

CRecordset::Move、メニュー コマンドまたはツール バー コマンドを使ってレコードセットをスクロールします。

DoFieldExchange を呼び出して、新しい現在のレコードから、フィールド データ メンバにデータを転送します。

レコードを追加、更新、または削除します。

DoFieldExchange を呼び出して、データ ソースへデータを転送します。

参照

概念

レコード フィールド エクスチェンジ (RFX)

レコード フィールド エクスチェンジ : RFX の動作のしくみ

レコードセット : 集計値の計算 (ODBC)

参照

CRecordset クラス

CFieldExchange クラス

マクロ、グローバル関数、およびグローバル変数