Record Field Exchange Functions

This topic lists the Record Field Exchange (RFX, Bulk RFX, and DFX) functions used to automate the transfer of data between a recordset object and its data source and to perform other operations on the data.

If you are using the ODBC-based classes and you have implemented bulk row fetching, you must manually override the DoBulkFieldExchange member function of CRecordset by calling the Bulk RFX functions for each data member corresponding to a data source column.

If you have not implemented bulk row fetching in the ODBC-based classes, or if you are using the DAO-based classes, then ClassWizard will override the DoFieldExchange member function of CRecordset or CDaoRecordset by calling the RFX functions (for ODBC classes) or the DFX functions (for DAO classes) for each field data member in your recordset.

The record field exchange functions transfer data each time the framework calls DoFieldExchange or DoBulkFieldExchange. Each function transfers a specific data type.

For more information about how these functions are used, see the articles Record Field Exchange: How RFX Works (ODBC). For more information about bulk row fetching, see the article Recordset: Fetching Records in Bulk (ODBC).

For columns of data that you bind dynamically, you can also call the RFX or DFX functions yourself, as explained in the articles Recordset: Dynamically Binding Data Columns (ODBC). Additionally, you can write your own custom RFX or DFX routines, as explained in Technical Note 43 (for ODBC) and Technical Note 53 (for DAO).

For an example of RFX and Bulk RFX functions as they appear in the DoFieldExchange and DoBulkFieldExchange functions, see RFX_Text and RFX_Text_Bulk. DFX functions are very similar to the RFX functions.

RFX Functions (ODBC)

RFX_Binary

Transfers arrays of bytes of type CByteArray.

RFX_Bool

Transfers Boolean data.

RFX_Byte

Transfers a single byte of data.

RFX_Date

Transfers time and date data using CTime or TIMESTAMP_STRUCT.

RFX_Double

Transfers double-precision float data.

RFX_Int

Transfers integer data.

RFX_Long

Transfers long integer data.

RFX_LongBinary

Transfers binary large object (BLOB) data with an object of the CLongBinary class.

RFX_Single

Transfers float data.

RFX_Text

Transfers string data.

Bulk RFX Functions (ODBC)

RFX_Binary_Bulk

Transfers arrays of byte data.

RFX_Bool_Bulk

Transfers arrays of Boolean data.

RFX_Byte_Bulk

Transfers arrays of single bytes.

RFX_Date_Bulk

Transfers arrays of data of type TIMESTAMP_STRUCT.

RFX_Double_Bulk

Transfers arrays of double-precision, floating-point data.

RFX_Int_Bulk

Transfers arrays of integer data.

RFX_Long_Bulk

Transfers arrays of long integer data.

RFX_Single_Bulk

Transfers arrays of floating-point data.

RFX_Text_Bulk

Transfers arrays of data of type LPSTR.

DFX Functions (DAO)

DFX_Binary

Transfers arrays of bytes of type CByteArray.

DFX_Bool

Transfers Boolean data.

DFX_Byte

Transfers a single byte of data.

DFX_Currency

Transfers currency data, of type COleCurrency.

DFX_DateTime

Transfers time and date data, of type COleDateTime.

DFX_Double

Transfers double-precision float data.

DFX_Long

Transfers long integer data.

DFX_LongBinary

Transfers binary large object (BLOB) data with an object of the CLongBinary class. For DAO, it is recommended that you use DFX_Binary instead.

DFX_Short

Transfers short integer data.

DFX_Single

Transfers float data.

DFX_Text

Transfers string data.

See Also

Concepts

MFC Macros and Globals

CRecordset::DoFieldExchange

CRecordset::DoBulkFieldExchange

CDaoRecordset::DoFieldExchange