AFX_ODBC_CALL ( SQLFunc )
Parámetros
SQLFunc
Una función de la API de ODBC. Para obtener más información acerca de las funciones de la API de ODBC, vea la referencia del programador del SDK de ODBC.
Observaciones
Utilice esta macro para llamar a cualquier función de API de ODBC que puede devolver SQL_STILL_EXECUTING. AFX_ODBC_CALL repetidamente llama a la función hasta que no devuelva SQL_STILL_EXECUTING.
Antes de invocar AFX_ODBC_CALL, debe declarar una variable, nRetCode , de tipo RETCODE. Puede utilizar CRecordset::Check para comprobar el valor de nRetCode después de la llamada de macro.
Tenga en cuenta que el ODBC de MFC clases de procesamiento sólo sincrónico de uso ahora. Para llevar a cabo una operación asincrónica, debe llamar a la función API de ODBC SQLSetConnectOption. Para obtener más información, vea el tema "Ejecutar funciones asincrónicamente" en la referencia del programador del SDK de ODBC.
Ejemplo
Este ejemplo utiliza AFX_ODBC_CALL para llamar a la función de API de ODBC SQLColumns , que devuelve una lista de las columnas de la tabla con el nombre por strTableName . Tenga en cuenta la declaración de nRetCode y el uso de los miembros de datos para pasar parámetros a la función. El ejemplo ilustra también comprobar los resultados de la convocatoria con Check, una función miembro de la clase CRecordset. La variable prs es un puntero a un objeto CRecordset , declarado en otra parte.
/ / ejemplo de AFX_ODBC_CALL
RETCODE nRetCode;
AFX_ODBC_CALL (:: SQLColumns (prs-gt; m_hstmt,
(UCHAR *)NULL, SQL_NTS, (UCHAR *) NULL,
SQL_NTS, (UCHAR *)(constchar*) strTableName,
SQL_NTS, (UCHAR *) NULL, SQL_NTS));
Si (! prs - > verificación (nRetCode))
{
AfxThrowDBException (nRetCode, prs - > m_pdb, prs - > m_hstmt);
TRACE ("fallo en SQLColumns");
}
Vea tambiénnbsp;AFX_SQL_ASY&NC, AFX_SQL_SYNC