AFX_ODBC_CALL ( SQLFunc )
Parâmetros
SQLFunc
Uma função de API de ODBC. Para obter mais informações sobre funções de API de ODBC, consulte o Referência do programador ODBC SDK.
Observações
Use essa macro para chamar qualquer função de API de ODBC que pode retornar SQL_STILL_EXECUTING. AFX_ODBC_CALL repetidamente chama a função até que ele não retornará SQL_STILL_EXECUTING.
Antes chamando AFX_ODBC_CALL, você deve declarar uma variável, nRetCode , do tipo RETCODE. Você pode usar CRecordset::Check para verificar o valor de nRetCode após a chamada de macro.
Observe que o ODBC do MFC classes processamento somente síncrono de uso de agora. Para executar uma operação assíncrona, você deve chamar a função de API de ODBC SQLSetConnectOption. Para obter mais informações, consulte o tópico "Executar funções assincronamente" na Referência do programador ODBC SDK.
Exemplo
Este exemplo usa AFX_ODBC_CALL para chamar a função de API de ODBC SQLColumns , que retorna uma lista das colunas na tabela nomeada pelo strTableName . Note-se a declaração de nRetCode e o uso de membros de dados de conjunto de registros para passar parâmetros para a função. O exemplo também ilustra verificando os resultados da chamada com Check, uma função de membro de classe CRecordset. A variável prs é um ponteiro para um objeto de CRecordset , declarado em outro lugar.
/ / exemplo para AFX_ODBC_CALL
RETCODE nRetCode;
AFX_ODBC_CALL (:: SQLColumns (prs-gt; m_hstmt,
(UCHAR MUITO *)NULO, SQL_NTS, (UCHAR MUITO *) NULL,
SQL_NTS, (UCHAR muito *)(constchar*) strTableName,
SQL_NTS, (UCHAR MUITO *) NULL, SQL_NTS));
se (! prs - > verificação (nRetCode))
{
AfxThrowDBException (nRetCode, prs - > m_pdb, prs - > m_hstmt);
RASTREAMENTO ("SQLColumns failed\n");
}
Consulte tambémnbsp;AFX_SQL_ASY&NC, AFX_SQL_SYNC