AFX_ODBC_CALL
Use essa macro para chamar qualquer função de API do ODBC pode retornar SQL_STILL_EXECUTING.
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 Windows SDK.
Comentários
AFX_ODBC_CALLchama repetidamente a função até que ele não retorna SQL_STILL_EXECUTING.
Antes de chamar AFX_ODBC_CALL, você deve declarar uma variável, nRetCode, do tipo RETCODE.
Observe que o ODBC do MFC classes processamento somente síncrono de uso agora.Para executar uma operação assíncrona, você deve chamar a função de API ODBC SQLSetConnectOption.Para obter mais informações, consulte o tópico "Executar funções assincronicamente" no Windows SDK.
Exemplo
Este exemplo usa AFX_ODBC_CALL para chamar o SQLColumns função de API de ODBC, que retorna uma lista das colunas na tabela nomeada pelo strTableName.Observe a declaração de nRetCode e o uso de membros de dados do 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 da classe CRecordset.A variável prs é um ponteiro para um CRecordset o objeto declarado em outro lugar.
RETCODE nRetCode;
AFX_ODBC_CALL(::SQLColumns(prs->m_hstmt, (SQLTCHAR*)NULL, SQL_NTS, (SQLTCHAR*)NULL,
SQL_NTS, (SQLTCHAR*)strTableName.GetBuffer(), SQL_NTS, (SQLTCHAR*)NULL, SQL_NTS));
if (!prs->Check(nRetCode))
{
AfxThrowDBException(nRetCode, prs->m_pDatabase, prs->m_hstmt);
TRACE(_T("SQLColumns failed\n"));
}
Requisitos
Cabeçalho: afxdb.h