DFX_Text
CDaoRecordset オブジェクトのフィールド データ メンバーとデータ ソースのレコードの列との間で、CString 型データを転送します。
void AFXAPI DFX_Text(
CDaoFieldExchange* pFX,
LPCTSTR szName,
CString& value,
int nPreAllocSize = AFX_DAO_TEXT_DEFAULT_SIZE,
DWORD dwBindOptions = AFX_DAO_ENABLE_FIELD_CACHE
);
パラメーター
pFX
CDaoFieldExchange クラスのオブジェクトへのポインター。 このオブジェクトは、関数の各呼び出しのコンテキストを定義する情報を保持します。szName
データ列の名前。値
指定されたデータ メンバーに格納される値。この値は転送されます。 レコードセットからデータ ソースへの転送では、指定されたデータ メンバーから CString 型の値を取得します。 データ ソースからレコードセットへの転送では、指定されたデータ メンバーに値が格納されます。nPreAllocSize
フレームワークがあらかじめ確保するメモリの量を指定します。 データが大きいときは、フレームワークは必要に応じてさらにスペースを確保します。 パフォーマンスを向上させるには、再確保の必要が生じないように、このサイズに十分大きな値を設定しておきます。dwBindOptions
変更されたレコードセット フィールドを検出するために、MFC のダブル バッファー機構を利用するかどうかを指定するオプションです。 既定の AFX_DAO_ENABLE_FIELD_CACHE では、ダブル バッファーを使います。 もう 1 つの使用可能な値は AFX_DAO_DISABLE_FIELD_CACHE です。 この値を指定すると、MFC はこのフィールドをチェックしません。 ユーザー自身が SetFieldDirty と SetFieldNull を呼び出す必要があります。注意
CDaoRecordset::m_bCheckCacheForDirtyFields を設定することにより、すべてのフィールドでデータが既定でダブル バッファリングされるかどうかを制御できます。
解説
データは、DAO の DAO_CHAR 型 (シンボル _UNICODE が定義されているときは DAO_WCHAR 型) とレコードセットの CString 型の間に割り当てられます。
使用例
例ではいくつかの DFX_Text を呼び出しています。 2 つの CDaoFieldExchange::SetFieldType 呼び出しにも注目してください。 SetFieldType に対する最初の呼び出しと、関連する DFX 呼び出しはユーザーが記述する必要があります。 通常、2 番目の呼び出しと、関連する DFX 呼び出しは、クラスを生成するコード ウィザードで記述します。
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
参照
参照
CDaoFieldExchange::SetFieldType