CRecordset::DoBulkFieldExchange

更新 : 2007 年 11 月

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

virtual void DoBulkFieldExchange( 
   CFieldExchange* pFX  
);

パラメータ

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

解説

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

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

wtxakswd.alert_note(ja-jp,VS.90).gifメモ :

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) 関数