DFX_Binary

void AFXAPI DFX_Binary( CDaoFieldExchange* pFX, LPCTSTR szName, CByteArray& value, int nPreAllocSize = AFX_DAO_BINARY_DEFAULT_SIZE, DWORD dwBindOptions = 0 );

Parameters

pFX

A pointer to an object of class CDaoFieldExchange. This object contains information to define the context for each call of the function. For additional information about the operations a CDaoFieldExchange object can specify, see the article DAO Record Field Exchange: How DFX Works in Visual C++ Programmer’s Guide.

szName

The name of a data column.

value

The value stored in the indicated data member — the value to be transferred. For a transfer from recordset to data source, the value, of type CByteArray, is taken from the specified data member. For a transfer from data source to recordset, the value is stored in the specified data member.

nPreAllocSize

The framework preallocates this amount of memory. If your data is larger, the framework will allocated more space as needed. For better performance, set this size to a value large enough to prevent reallocations. The default size is defined in the AFXDAO.H file as AFX_DAO_BINARY_DEFAULT_SIZE.

dwBindOptions

An option that lets you take advantage of MFC’s double buffering mechanism for detecting recordset fields that have changed. The default, AFX_DAO_DISABLE_FIELD_CACHE, does not use double buffering and you must call SetFieldDirty and SetFieldNull yourself. The other possible value, AFX_DAO_ENABLE_FIELD_CACHE, uses double buffering, and you do not have to do extra work to mark fields dirty or Null. For performance and memory reasons, avoid this value unless your binary data is relatively small.

These options are explained further in the article DAO Record Field Exchange: Double Buffering Records in Visual C++ Programmer's Guide.

Note   You can control whether data is double buffered for all fields by default by setting CDaoRecordset::m_bCheckCacheForDirtyFields.

Remarks

The DFX_Binary function transfers arrays of bytes between the field data members of a CDaoRecordset object and the columns of a record on the data source. Data is mapped between type DAO_BYTES in DAO and type CByteArray in the recordset.

Example

See DFX_Text.

See Also   DFX_Text, DFX_Bool, DFX_Currency, DFX_Long, DFX_Short, DFX_Single, DFX_Double, DFX_DateTime, DFX_Byte, DFX_LongBinary, CDaoFieldExchange::SetFieldType