RFX_Text_Bulk

void RFX_Text_Bulk (CFieldExchange * pFX, LPCTSTR szName, LPSTR * prgStrVals, larga ** 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 la función. Para obtener más información, consulte el artículo intercambio de campos de registros: funcionamiento de RFX en la Guía del programador de Visual C++.

szName

El nombre de una columna de datos.

prgStrVals

Un puntero a una matriz de valores LPSTR . Esta matriz almacenará los datos que se transfieren desde el origen de datos al conjunto de registros. Tenga en cuenta que con la versión actual de ODBC, estos valores no pueden ser Unicode.

prgLengths

Un puntero a una matriz de enteros largos. Esta matriz almacenará la longitud en bytes de cada valor de la matriz apuntada por prgStrVals. Esta longitud excluye el carácter null de terminación. Tenga en cuenta que se almacenará el valor SQL_NULL_DATA si el elemento correspondiente de datos contiene un valor Null. Para obtener más detalles, consulte la función de la API de ODBC SQLBindCol en la referencia del programador del SDK de ODBC.

nMaxLength

El máximo permitido de longitud de los valores almacenados en la matriz apuntada por prgStrVals, incluido el carácter null de terminación. Para garantizar que los datos no se truncará, pase un valor lo suficientemente grande como para acomodar el mayor elemento de datos que espera.

Observaciones

La función RFX_Text_Bulk transfiere varias filas de datos de carácter de una columna de un origen de datos ODBC a una matriz correspondiente en un CRecordset-objeto derivado. La columna de origen de datos puede tener un tipo ODBC de SQL_LONGVARCHAR, SQL_CHAR, SQL_VARCHAR, SQL_DECIMALo SQL_NUMERIC. El conjunto de registros debe definir a un miembro de datos de campo de tipo LPSTR.

Si usted inicializa prgStrVals y prgLengths en NULL, entonces las matrices que apuntan a se asignarán automáticamente, con tamaños iguales al tamaño de conjunto de filas.

&Notanbsp;  Intercambio masivo de campos de registros sólo transfiere los datos del origen de datos al objeto recordset. A fin de hacer registros actualizable, debe utilizar la función de la API de ODBC SQLSetPos. Un ejemplo de cómo hacerlo, vea el ejemplo DBFETCH.

Para obtener más información, vea los artículos registros: obtener registros en masiva (ODBC) y Cambio de campo de registro (RFX) en la Guía del programador de Visual C++.

Ejemplo

ClassWizard no admite las funciones de RFX masivo, por lo que se debe escribir manualmente llamadas en su DoBulkFieldExchange anulación. Este ejemplo muestra una llamada a RFX_Text_Bulk, así como una llamada a RFX_Long_Bulk, para la transferencia de datos. Estas llamadas son precedidas por una llamada a CFieldExchange:: SetFieldType. Tenga en cuenta que los parámetros, se deben llamar a las funciones de RFX en lugar de las funciones de RFX masivo.

 void MultiRowSet::DoBulkFieldExchange (CFieldExchange * pFX)
{
 nbsp; pFX - > SetFieldType (CFieldExchange::outputColumn);
   RFX_Long_Bulk (pFX, _T ("[colRecID]"),
                  & m_rgID, & m_rgIDLenghts);
   RFX_Text_Bulk (pFX, _T ("[colName]"),
                  & m_rgName, & m_rgNameLengths, 30);

pFX - > SetFieldType (CFieldExchange::inputParam);
   RFX_Text (pFX, "NameParam", m_strNameParam);
}

Vea tambié&nnbsp;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

Index