DFX_Text
更新 : 2007 年 11 月
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
データ列の名前。value
指定されたデータ メンバに格納される値。この値は転送されます。レコードセットからデータ ソースへの転送では、指定されたデータ メンバから 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