次の方法で共有


CRecordset::DoBulkFieldExchange

データ ソースからレコードセット オブジェクトに複数行のデータを交換するために呼び出されます。バルク レコード フィールド エクスチェンジ (Bulk RFX) を実装します。

virtual void DoBulkFieldExchange( 
   CFieldExchange* pFX  
);

パラメーター

  • pFX
    CFieldExchange オブジェクトへのポインターを返します。フレームワークは、既にフィールド エクスチェンジ操作のコンテキストを指定するには、このオブジェクトを設定することになります。

解説

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

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

[!メモ]

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

バルク レコード フィールド エクスチェンジ (Bulk RFX) がレコード フィールド エクスチェンジ (RFX) に似ています。データは、データ ソースからレコードセット オブジェクトに自動的に移動します。ただし、AddNew[編集]、データ ソースに変更を転送する [削除]、または 更新 を呼び出すことはできません。クラス CRecordset は、複数行のデータを更新するために現在機構はありません; ただし、ODBC API 関数 SQLSetPosを使用して独自の関数を記述できます。

ClassWizard がバルク レコード フィールド エクスチェンジをサポートしないことに注意してください; したがって、Bulk RFX 関数の呼び出しを記述して DoBulkFieldExchange を手動でオーバーライドする必要があります。これらの関数に関する詳細については、" " レコード フィールド エクスチェンジ関数を参照してください。

バルク行フェッチに関する詳細については、" " レコードセット: フェッチ サイズのレコードを (ODBC)を参照してください。関連情報については、" " 記録します。フィールド エクスチェンジ (RFX) をを参照してください。

例外

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

必要条件

Header: afxdb.h

参照

関連項目

CRecordset クラス

階層図

CRecordset::m_nFields

CRecordset::m_nParams

CRecordset::DoFieldExchange

CRecordset::GetFieldValue

CFieldExchange クラス

その他の技術情報

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