次の方法で共有


CRecordset::DoBulkFieldExchange

データのバルク行をデータ ソースからレコードセットへ転送します。 Bulk RFX (バルク レコード フィールド エクスチェンジ) を実装します。

virtual void DoBulkFieldExchange( 
   CFieldExchange* pFX  
);

パラメーター

  • pFX
    CFieldExchange オブジェクトへのポインターを返します。 このオブジェクトは、フィールド交換操作のコンテキストを指定するために、前もってフレームワークによって設定されています。

解説

バルク行フェッチが実装されている場合は、データ ソースからレコードセット オブジェクトにデータを自動的に転送するために、フレームワークがこのメンバー関数を呼び出します。 また、DoBulkFieldExchange は、レコードセットの選択のための SQL ステートメント文字列のパラメーター プレースホルダーに、パラメーター データ メンバーを連結します。

バルク行フェッチが実装されていない場合、フレームワークは DoFieldExchange を呼び出します。 バルク行フェッチを実装するには、Open メンバー関数でパラメーター dwOptions に CRecordset::useMultiRowFetch オプションを指定します。

注意

DoBulkFieldExchange は、CRecordset から派生したクラスを使っている場合だけ使用できます。 CRecordset から直接レコードセット オブジェクトを作成した場合は、GetFieldValue メンバー関数を呼び出してデータを取得する必要があります。

Bulk RFX (バルク レコード フィールド エクスチェンジ) は、RFX (レコード フィールド エクスチェンジ) に似ています。 データは、データ ソースからレコードセット オブジェクトへ自動的に転送されます。 しかし、AddNewEditDelete、または Update を呼び出して変更をデータ ソースへ戻すことはできません。 現時点で CRecordset クラスには、データのバルク行を更新する機構は用意されていませんが、ODBC API の関数 SQLSetPos を使うことによって独自の関数を作成できます。

ClassWizard は、レコード フィールド エクスチェンジをサポートしていません。したがって、Bulk RFX 関数の呼び出しを作成して DoBulkFieldExchange を手動でオーバーライドする必要があります。 これらの関数の詳細については、「レコード フィールド エクスチェンジ (RFX) 関数」を参照してください。

バルク行フェッチの詳細については、資料を参照してくださいレコード セット:一括 (ODBC) 内のレコードをフェッチ。 関連情報については、「レコード フィールド エクスチェンジ (RFX)」を参照してください。

例外

このメソッドは、CDBException* 型の例外をスローできます。

必要条件

**ヘッダー:**afxdb.h

参照

参照

CRecordset クラス

階層図

CRecordset::m_nFields

CRecordset::m_nParams

CRecordset::DoFieldExchange

CRecordset::GetFieldValue

CFieldExchange クラス

その他の技術情報

CRecordset のメンバー

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