次の方法で共有


CDaoRecordset::DoFieldExchange

更新 : 2007 年 11 月

レコードセットのフィールド データ メンバと、データ ソースの現在のレコードの対応する列との間で、自動的にデータを交換するために、フレームワークが呼び出します。

virtual void DoFieldExchange(
   CDaoFieldExchange* pFX 
);

パラメータ

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

解説

また、パラメータ データ メンバを、レコードセットの選択に使用する SQL ステートメント文字列のパラメータ プレースホルダに連結します。フィールド データの交換は、DAO レコード フィールド エクスチェンジ (DFX) と呼ばれ、レコードセット オブジェクトのフィールド データ メンバからデータ ソースのレコードのフィールドに、データ ソースのレコードから、レコードセット オブジェクトへの両方向で動作します。動的に列を連結しているときは、DoFieldExchange を実装する必要はありません。

派生させたレコードセット クラスに DoFieldExchange を実装するために必要な作業は、ClassWizard を使用してクラスを作成し、フィールド データ メンバの名前とデータ型を指定することだけです。ClassWizard がパラメータ データ メンバを指定するために記述した内容に、コードを追加する場合もあります。すべてのフィールドを動的に連結するときは、パラメータ データ メンバを指定していない場合は、この関数は非アクティブになります。

ClassWizard を使用して派生レコードセット クラスを宣言すると、次の例のような DoFieldExchange 関数のオーバーライドが記述されます。

void CCustSet::DoFieldExchange(CDaoFieldExchange* pFX)
{
   pFX->SetFieldType(CDaoFieldExchange::param);
   DFX_Text(pFX, _T("Param"), m_strParam);
   pFX->SetFieldType(CDaoFieldExchange::outputColumn);
   DFX_Short(pFX, _T("EmployeeID"), m_EmployeeID);
   DFX_Text(pFX, _T("LastName"), m_LastName);
   DFX_Short(pFX, _T("Age"), m_Age);
   DFX_DateTime(pFX, _T("hire_date"), m_hire_date);
   DFX_DateTime(pFX, _T("termination_date"), m_termination_date);

   CDaoRecordset::DoFieldExchange(pFX);
}

必要条件

ヘッダー : afxdao.h

参照

参照

CDaoRecordset クラス

階層図

CDaoException クラス

その他の技術情報

CDaoRecordset のメンバ