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

このトピックでは、オーバーライドの本体を構成する RFX 関数呼び出しの使用方法について説明 DoFieldExchange します。

Note

このトピックは、一括行フェッチが実装されていない CRecordset から派生したクラスに適用されます。 バルク行フェッチを使用している場合は、バルク レコード フィールド エクスチェンジ (Bulk RFX) が実装されます。 Bulk RFX は、RFX に似ています。 違いを理解するには、「レコード セット: レコードを一括フェッチする (ODBC)」を参照してください。

RFX グローバル関数は、データソースの列とレコードセットのフィールドデータメンバーの間でデータを交換します。 RFX 関数呼び出しをレコードセットの DoFieldExchange メンバー関数に記述します。 このトピックでは、関数について簡単に説明し、RFX 関数を使用できるデータ型について説明します。 テクニカルノート 43 では、追加のデータ型用に独自の RFX 関数を記述する方法について説明します。

RFX 関数の構文

各 RFX 関数は、3つのパラメーター (および省略可能な4番目または5番目のパラメーターを受け取る) を受け取ります。

  • CFieldExchangeオブジェクトへのポインター。 に渡されたポインターに沿って渡すだけ pFXDoFieldExchange です。

  • データソースに表示される列の名前。

  • レコードセットクラスの対応するフィールドデータメンバーまたはパラメーターデータメンバーの名前。

  • Optional一部の関数では、転送される文字列または配列の最大長を指定します。 既定値は255バイトですが、変更することもできます。 最大サイズは、オブジェクト INT_MAX (2147483647) バイトの最大サイズに基づいてい CStringCString— ますが、そのサイズの前にドライバーの制限が発生する可能性があります。

  • Optional関数では、 RFX_Text 5 番目のパラメーターを使用して列のデータ型を指定することもできます。

詳細については、「クラスライブラリリファレンス」の「マクロとグローバル」にある RFX 関数を参照してください。 パラメーターを特別に使用する場合の例については、「 レコードセット: 合計およびその他の集計結果の取得 (ODBC)」を参照してください。

RFX データ型

クラスライブラリには、データソースとレコードセットの間でさまざまなデータ型を転送するための RFX 関数が用意されています。 次の一覧は、RFX 関数をデータ型別にまとめたものです。 独自の RFX 関数呼び出しを記述する必要がある場合は、これらの関数からデータ型を選択します。

機能 データ型
RFX_Bool
RFX_Byte BYTE
RFX_Binary CByteArray
RFX_Double double
RFX_Single float
RFX_Int int
RFX_Long long
RFX_LongBinary CLongBinary
RFX_Text CString
RFX_Date CTime

詳細については、クラスライブラリリファレンスの「マクロとグローバル」の RFX 関数のドキュメントを参照してください。 c++ データ型を SQL データ型にマップする方法の詳細については、「 SQL: SQL および c++ データ型 (ODBC)」の「c++ データ型にマップされる ANSI SQL データ型」を参照してください。

こちらもご覧ください

レコードフィールド Exchange (RFX)
レコードフィールド Exchange: RFX の動作のしくみ
レコードセット: レコードセットのパラメーター化 (ODBC)
レコードセット: データ列を動的にバインドする (ODBC)
CRecordset クラス
CFieldExchange クラス