DFX_Text

void AFXAPI DFX_Text(
     CDaoFieldExchange* pFX,
     LPCTSTR szName,
     CString& value,
     int nPreAllocLength = AFX_DAO_TEXT_DEFAULT_SIZE,
     DWORD dwBindOptions = AFX_DAO_ENABLE_FIELD_CACHE
    );

参数:
pFx指向CDaoFieldExchange类的对象的指针。这个对象包含函数调用的环境信息。有关CDaoFieldExchange对象能够指定的操作的附加信息参见Visual C++程序员联机指南中的文章“DAO记录字段交换:DFX如何工作”。
szName数据列的名字。
value指定的数据成员中保存的值——要被传送的值。对于从记录集到数据源的数据传送,该CString值是从指定的数据成员中获取的。对于从数据源到记录集的数据传送,该值是保存在指定的数据成员中的。nPreAllocSize应用框架预分配这么多内存。如果你的数据更多,框架会在必要时分配更多的空间。如果要获得更好的性能,将这个大小设为一个足够大的值以避免重分配。
dwBindOptions使你能够享受MFC的双缓冲机制的好处的选项,该机制能够检测发生了变化的记录集字段。缺省值AFX_DAO_ENABLE_FIELD_CACHE使用双缓冲机制。另外一个可能值是AFX_DAO_DISABLE_FIELD_CACHE。如果你指定了这个值,MFC并不对这个字段进行检查。你必须自己调用SetFieldDirty和SetFieldNull。
这些选项在“Visual C++程序员指南”的“DAO记录集:动态记录绑定”一文中有进一步的解释。
注意:
可以通过设置CDaoRecordset::m_bCheckCacheForDirtyFields来控制是否对数据使用双缓冲机制。

说明:
DFX_TEXT函数在CDaoRecordset对象的字段数据成员和数据源中记录的列之间交换CString数据。数据在DAO中的DAO_CHAR(如果定义了_UNICODE则为DAO_WCHAR)与记录集中的CString之间映射。

示例:
这个例子演示了对DFX_TEXT的一些调用。同时注意对CDaoFieldExchange::SetFieldType的两个调用。通常ClassWizard把对SetFieldType和相关DFX的调用写入第二个调用。你必须编写第一个调用及其DFX调用。建议你将所有的参数放在“//{{AFX_FIELD_MAP”注释之前。必须将参数写在注释之外。
// DFX_Text的例子
void CSections::DoFieldExchange(CDaoFieldExchange* pFX)
{
  pFX->SetFieldType(CDaoFieldExchange::param);
  DFX_Text(pFX, "Name", m_strNameParam);
  //{{AFX_FIELD_MAP(CSections)
  pFX->SetFieldType(CDaoFieldExchange::outputColumn);
  DFX_Text(pFX, "CourseID", m_strCourseID);
  DFX_Text(pFX, "InstructorID", m_strInstructorID);
  DFX_Short(pFX, "LabFee", m_nRoomNo);
  DFX_Text(pFX, "LabFee", m_strSchedule);
  DFX_Short(pFX, "SectionNo", m_nSectionNo);
  DFX_Currency(pFX, "LabFee", m_currLabFee);
  //}}AFX_FIELD_MAP
}

请参阅:
DFX_Bool, DFX_Long, DFX_Currency, DFX_Short, DFX_Single, DFX_Double, DFX_DateTime, DFX_Byte, DFX_Binary, DFX_LongBinary, CDaoFieldExchange::SetFieldType