CRecordset::DoFieldExchange

virtual void DoFieldExchange ( CFieldExchange * pFX );
tirar ( CDBException );

Parámetros

pFX

Un puntero a un objeto CFieldExchange . El marco ya habrá configurado este objeto para especificar un contexto para la operación de intercambio.

Observaciones

Cuando no está implementada la obtención masiva de filas, el marco llama a esta función miembro automáticamente intercambiar datos entre los miembros de datos de campo del objeto recordset y las columnas correspondientes del registro actual en el origen de datos. DoFieldExchange también obliga a los miembros de datos de parámetro, si los hubiere, a los marcadores de parámetro en la cadena de instrucción SQL para la selección del conjunto de registros.

Si se implementa la obtención masiva de filas, el marco llama DoBulkFieldExchange. Para implementar la fila granel obtención, debe especificar la opción CRecordset::useMultiRowFetch del parámetro dwOptions en la función miembro Open.

&Notanbsp;DoFieldExchange está disponible sólo si está utilizando una clase derivada de CRecordset. Si ha creado un objeto recordset directamente desde CRecordset, debe llamar a la función de miembro GetFieldValue para recuperar datos.

El intercambio de datos de campo, llamados intercambio de campos de registros (RFX), funciona en ambas direcciones: de los miembros de datos de campo del objeto recordset para los campos del registro en el origen de datos y del registro en el origen de datos al objeto recordset.

La única acción que normalmente debe realizar para aplicar DoFieldExchange para la clase recordset derivado es crear la clase con ClassWizard y especificar los nombres y tipos de datos de los miembros de datos de campo. También puede añadir código a lo que escribe ClassWizard para especificar a los miembros de datos de parámetro o para hacer frente a las columnas que enlaza dinámicamente. Para obtener más información, consulte el artículo Recordset: dinámicamente enlace datos columnas (ODBC) en la Guía del programador de Visual C++.

Cuando se declara la clase recordset derivadas con ClassWizard, el asistente escribe un reemplazo de DoFieldExchange para usted, que es similar al ejemplo siguiente:

void CCustSet::DoFieldExchange (CFieldExchange * pFX)
{
 nbsp; //{{AFX_FIELD_MAP(CCustSet)
   pFX - > SetFieldType(CFieldExchange::outputColumn);
   RFX_Text (pFX, "Nombre", m_strName);
   RFX_Int (pFX, "Edad", m_wAge);
   //}}AFX_FIELD_MAP
}

Para obtener más información acerca de las funciones RFX, vea el tema Funciones de intercambio de campos de registros.

Para detalles sobre DoFieldExchangey más ejemplos, consulte el artículo intercambio de campos de registros: funcionamiento de RFX. Para obtener información general acerca de RFX, vea el artículo Intercambio de campos de registro. Ambos artículos se encuentran en la Guía del programador de Visual C++.

Visió&n General de CRecordset |nbsp; Miembros de clase | Diagrama de jerarquía

Vea tambié&nnbsp;CRecordset::m_nFields, CRecordset::m_nParams, CRecordset::DoBulkFieldExchange, CRecordset::GetFieldValue, CFieldExchange, funciones de intercambio de campos de registros

Index