RFX_Text_Bulk

Transfiere varias filas de datos de caracteres de una columna de un origen de datos ODBC a una matriz correspondiente en CRecordset- objeto derivado.

void RFX_Text_Bulk(
   CFieldExchange* pFX,
   LPCTSTR szName,
   LPSTR* prgStrVals,
   long** prgLengths,
   int nMaxLength 
);

Parámetros

  • pFX
    Un puntero a un objeto CFieldExchange.Este objeto contiene información para definir el contexto para cada llamada de función.Para obtener más información, vea el artículo Intercambio de campos de registros: Funcionamiento de RFX.

  • szName
    El nombre de una columna de datos.

  • prgStrVals
    Un puntero a una matriz de valores de LPSTR .Esta matriz almacenará los datos que se van a transferir del origen de datos al conjunto de registros.Observe que con la versión actual de ODBC, estos valores no puede ser Unicode.

  • prgLengths
    Un puntero a una matriz de enteros largos.Esta matriz almacenará la longitud en bytes de cada valor en la matriz indicada por prgStrVals.Esta longitud excluye el carácter null de terminación.Observe que el valor SQL_NULL_DATA se almacenará si el elemento de datos correspondiente contiene un valor nulo.Para obtener más detalles, vea la función API SQLBindCol de ODBC en la referencia de ODBC en el CD.

  • nMaxLength
    El máximo permitido la longitud de los valores almacenados en la matriz indicada por prgStrVals, incluido el carácter null de terminación.Para asegurarse de que los datos no están truncados, pase un valor lo suficientemente grande para alojar el elemento de datos más grande que espera.

Comentarios

La columna de origen de datos puede tener un tipo de ODBC de SQL_LONGVARCHAR, de SQL_CHAR, de SQL_VARCHAR, de SQL_DECIMAL, o de SQL_NUMERIC.El conjunto de registros debe definir un miembro de datos de campo de LPSTRescrito.

Si inicializa prgStrVals y prgLengths a NULL, las matrices que señalan a se asignadas automáticamente, con tamaños igual al tamaño del conjunto de filas.

[!NOTA]

El intercambio masivo de campos de registro transfiere sólo datos del origen de datos al objeto de conjunto de registros.Para crear un conjunto de registros actualizable, debe usar la función API SQLSetPosde ODBC.

Para obtener más información, vea los artículos conjunto de registros: Obtener registros de forma masiva (ODBC) y Intercambio de campos de registros.

Ejemplo

Debe escribir manualmente llamadas en la invalidación de DoBulkFieldExchange .En este ejemplo se muestra una llamada a RFX_Text_Bulk, así como una llamada a RFX_Long_Bulk, para la transferencia de datos.Estas llamadas van precedidas de una llamada a CFieldExchange::SetFieldType.Observe que para los parámetros, se debe llamar a las funciones RFX en lugar de las funciones de RFX Masivo.

void CMultiCustomer::DoBulkFieldExchange(CFieldExchange* pFX)
{
   pFX->SetFieldType(CFieldExchange::outputColumn);
   RFX_Long_Bulk(pFX, _T("[CustomerID]"), &m_pCustomerID, &m_pcCustomerID);
   RFX_Text_Bulk(pFX, _T("[ContactFirstName]"), &m_pContactFirstName, &m_pcContactFirstName, 50);
   RFX_Text_Bulk(pFX, _T("[PostalCode]"), &m_pPostalCode, &m_pcPostalCode, 50);
   RFX_Text_Bulk(pFX, _T("[L_Name]"), &m_pL_Name, &m_pcL_Name, 50);
   RFX_Long_Bulk(pFX, _T("[BillingID]"), &m_pBillingID, &m_pcBillingID);

   pFX->SetFieldType(CFieldExchange::inputParam);
   RFX_Text(pFX, _T("Param"), m_strParam);
}

Requisitos

Header: afxdb.h

Vea también

Referencia

RFX_Binary_Bulk

RFX_Bool_Bulk

RFX_Byte_Bulk

RFX_Date_Bulk

RFX_Double_Bulk

RFX_Int_Bulk

RFX_Long_Bulk

RFX_Single_Bulk

CFieldExchange::SetFieldType

Conceptos

Macros y funciones globales de MFC