CRecordset::DoBulkFieldExchange
データ ソースからレコードセット オブジェクトに複数行のデータを交換するために呼び出されます。 バルク レコード フィールド エクスチェンジ (Bulk RFX) を実装します。
virtual void DoBulkFieldExchange(
CFieldExchange* pFX
);
パラメーター
- pFX
CFieldExchange オブジェクトへのポインターを返します。 フレームワークは、既にフィールド エクスチェンジ操作のコンテキストを指定するには、このオブジェクトを設定することになります。
解説
バルク行フェッチが実装されている場合、フレームワークは自動的にデータ ソースからレコードセット オブジェクトにデータを転送には、このメンバー関数を呼び出します。 DoBulkFieldExchange は、レコードセットの選択の SQL ステートメントの文字列パラメーター プレースホルダーに、パラメーター データ メンバーがある場合、バインドします。
バルク行フェッチが実装されていない場合、フレームワークは DoFieldExchangeを呼び出します。 バルク行フェッチを実装するには [開く] のメンバー関数で dwOptions のパラメーターの CRecordset::useMultiRowFetch のオプションを指定します。
注意
DoBulkFieldExchange は CRecordsetの派生クラスを使用した場合だけです。CRecordsetからレコードセット オブジェクトを直接作成する場合は、データを取得するに GetFieldValue のメンバー関数を呼び出す必要があります。
バルク レコード フィールド エクスチェンジ (Bulk RFX) がレコード フィールド エクスチェンジ (RFX) に似ています。 データは、データ ソースからレコードセット オブジェクトに自動的に移動します。 ただし、AddNew、[編集]、データ ソースに変更を転送する [削除]、または 更新 を呼び出すことはできません。 クラス CRecordset は、複数行のデータを更新するために現在機構はありません; ただし、ODBC API 関数 SQLSetPosを使用して独自の関数を記述できます。
ClassWizard がバルク レコード フィールド エクスチェンジをサポートしないことに注意してください; したがって、Bulk RFX 関数の呼び出しを記述して DoBulkFieldExchange を手動でオーバーライドする必要があります。 これらの関数に関する詳細については、" " レコード フィールド エクスチェンジ関数を参照してください。
バルク行フェッチに関する詳細については、" " レコードセット: フェッチ サイズのレコードを (ODBC)を参照してください。 関連情報については、" " 記録します。フィールド エクスチェンジ (RFX) をを参照してください。
例外
このメソッドは、型 **CDBException***の例外をスローできます。
必要条件
Header: afxdb.h