Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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