释义 |
DFX_Binary
void AFXAPI DFX_Binary( CDaoFieldExchange* pFX, LPCTSTR szName, CByteArray& value, int nPreAllocSize = AFX_DAO_BINARY_DEFAULT_SIZE, DWORD dwBindOptions = 0 );
参数:pFX | 指向CDaoFieldExchange类的对象的指针。这个对象包含函数调用的环境信息。有关CDaoFieldExchange对象能够指定的操作的附加信息参见Visual C++程序员指南中的文章“DAO记录字段交换:DFX如何工作”。 | szName | 数据列的名字。 | value | 指定的数据成员中保存的值——要被传送的值。对于从记录集到数据源的数据传送,CByteArray类型的值是从指定的数据成员中获取的。对于从数据源到记录集的数据传送,该值是保存在指定的数据成员中的。 | nPreAllocSize | 应用框架预分配这么多内存。如果你的数据更多,框架会在必要时分配更多的内存。要获得更好的性能,将这个大小设为一个足够大的值以避免重分配。在AFXDAO.H中,缺省的大小被定义为AFX_DAO_BINARY_DEFAULT_SIZE。 | dwBindOptions | 使你能够享受MFC的双缓冲机制好处的选项,该机制能够检测发生了变化的记录集字段。缺省值AFX_DAO_DISABLE_FIELD_CACHE并不使用双缓冲机制,你必须自己调用SetFieldDirty和SetFieldNull。另外一个可能值AFX_DAO_ENABLE_FIELD_CACHE使用双缓冲机制,你不必进行额外的操作以将一个字段标记为脏的或NULL。由于性能和内存方面的原因,不要使用这个值,除非你的二进制数据确实很小。 这些选项在Visual C++程序员指南的“DAO记录字段交换:双缓冲记录”一文中有进一步的解释。 注意: 可以通过设置CDaoRecordset::m_bCheckCacheForDirtyFields来控制是否对数据使用双缓冲机制。 |
说明: DFX_Binary函数在CDaoRecordset对象的字段数据成员和数据源中记录的列之间交换字节数组。数据在DAO中的DAO_BYTES类型和记录集中的CByteArray类型之间进行映射。
示例:参见 DFX_Text。
请参阅: DFX_Text, DFX_Bool, DFX_Currency, DFX_Long, DFX_Short, DFX_Single, DFX_Double, DFX_DateTime, DFX_Byte, DFX_LongBinary, CDaoFieldExchange::SetFieldType |