レコード フィールド エクスチェンジ: RFX の使い方
このトピックでは、フレームワークの機能に関連して、RFX を使うために行うことについて説明します。
Note
このトピックの内容は、バルク行フェッチが実装されていない CRecordset から派生したクラスを対象にしています。 バルク行フェッチを使用している場合は、バルク レコード フィールド エクスチェンジ (Bulk RFX) が実装されます。 Bulk RFX は、RFX に似ています。 違いを理解するには、「レコードセット: バルク行フェッチ (ODBC)」を参照してください。
次のトピックには、関連情報が含まれています。
「レコード フィールド エクスチェンジ: ウィザード コードの操作」では、RFX の主要コンポーネントを紹介します。また、MFC アプリケーション ウィザードと [クラスの追加] (「MFC ODBC コンシューマーの追加」を参照してください) を使って作成する、RFX をサポートするコードと、そのウィザード コードを変更する方法について説明します。
「レコード フィールド エクスチェンジ: RFX 関数の使い方」では、
DoFieldExchange
オーバーライドで RFX 関数の呼び出しを記述する方法について説明します。
フレームワークによる自動処理に関連する開発者の役割を次の表に示します。
RFX の使用: 開発者とフレームワーク
あなた | フレームワークの役割 |
---|---|
ウィザードを使ってレコードセット クラスを宣言します。 フィールド データ メンバーの名前とデータ型を指定します。 | ウィザードによって、CRecordset クラスの派生、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 クラス
マクロ、グローバル関数、およびグローバル変数