レコード フィールド エクスチェンジ: 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) バイトの最大サイズに基づいてい
CString—CString— ますが、そのサイズの前にドライバーの制限が発生する可能性があります。Optional関数では、
RFX_Text5 番目のパラメーターを使用して列のデータ型を指定することもできます。
詳細については、「クラスライブラリリファレンス」の「マクロとグローバル」にある 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 クラス