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