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