レコード フィールド エクスチェンジ (RFX)
MFC ODBC データベース クラスを使用すると、データ ソースと recordset オブジェクト間のデータの移動を自動化することができます。 CRecordset からクラスを派生させ、かつバルク行フェッチを使用しない場合、データはレコード フィールド エクスチェンジ (RFX) メカニズムによって転送されます。
Note
派生された CRecordset
クラスにバルク行フェッチを実装している場合、フレーム ワークでは、バルク レコード フィールド エクスチェンジ (バルク RFX) メカニズムを使用してデータを転送します。 詳細については、「レコードセット: バルク行フェッチ (ODBC)」を参照してください。
RFX は、ダイアログ データ エクスチェンジ (DDX) に似ています。 データ ソースとレコード セットのフィールド データ メンバーの間でデータを移動するには、レコード セットの DoFieldExchange 関数を複数回呼び出す必要があり、フレームワークと ODBC 間でかなりのやり取りが必要です。 RFX のメカニズムはタイプ セーフであり、::SQLBindCol
などの ODBC 関数を呼び出す手間を省きます。 DDX の詳細については、「 ダイアログ データ エクスチェンジとダイアログ データ バリデーション」を参照してください。
RFX は、ほとんどの場合、ユーザーに対して透過的です。 MFC アプリケーション ウィザードまたは [クラスの追加] (「MFC ODBC コンシューマーの追加」で説明されています) を使用してレコードセット クラスを宣言すると、RFX がそれらの中に自動的に構築されます。 レコードセット クラスの派生元は、フレームワークによって提供される基底クラス CRecordset
である必要があります。 MFC アプリケーション ウィザードを使用すると、最初のレコードセット クラスを作成できます。 [クラスの追加] を使用すると、必要に応じて他のレコードセット クラスを追加できます。 詳細情報と例については、「MFC ODBC コンシューマーの追加」を参照してください。
次のような 3 つの場合に、少量の RFX コードを手動で追加する必要があります。
パラメーター化クエリを使用する。 詳細については、「レコードセット: パラメーターを利用したレコードセット (ODBC)」を参照してください。
(2 つ以上のテーブルの列に対して 1 つのレコードセットを使用して) 結合を実行する。 詳細については、「レコードセット: 結合 (ODBC)」を参照してください。
データ列を動的にバインドする。 これは、パラメーター化ほど一般的ではありません。 詳細については、「レコードセット: データ列を動的に結びつける方法 (ODBC)」を参照してください。
RFX に関するより高度な知識が必要な場合は、「レコード フィールド エクスチェンジ: RFX の動作のしくみ」を参照してください。
レコードセット オブジェクトの使用については、次のトピックで説明しています。
関連項目
ODBC (Open Database Connectivity)
レコードセット (ODBC)
MFC ODBC コンシューマー
[データベース サポート] (MFC アプリケーション ウィザード)
CRecordset クラス