Compartilhar via


ODBC: Chamar funções de API ODBC diretamente

As classes de banco de dados fornecem uma interface mais simples para um a fonte de dados que o ODBC. Como resultado, as classes não encapsulam a API de ODBC. Para qualquer funcionalidade que fica fora as habilidades das classes, você deve chamar diretamente funções da API do ODBC. Por exemplo, você deve chamar as funções de catálogo ODBC (:: SQLColumns, :: SQLProcedures, :: SQLTablese outros) diretamente.

ObservaçãoObservação

Fontes de dados ODBC são acessíveis por meio das classes do MFC ODBC, conforme descrito neste tópico, ou as classes do MFC Data Access Object (DAO).

Para chamar uma função de API ODBC diretamente, você deve levar as mesmas etapas que você levaria se você estava fazendo as chamadas sem o framework. Eles etapas são:

  • Alocar o armazenamento de resultados que a chamada retorna.

  • Passar um ODBC HDBC ou HSTMT tratar, dependendo da assinatura do parâmetro da função. Use o AFXGetHENV macro para recuperar o identificador do ODBC.

    Variáveis de membro CDatabase::m_hdbc e CRecordset::m_hstmt estão disponíveis para que você não precisa alocar e inicializá-las.

  • Talvez, chame funções adicionais de ODBC ao preparar ou acompanhar a chamada principal.

  • Quando você terminar de desalocar o armazenamento.

Para obter mais informações sobre essas etapas, consulte o Open Database Connectivity (odbc) SDK na documentação do MSDN.

Além dessas etapas, você precisa de mais etapas para verificar os valores de retorno da função, certifique-se de que seu programa não está aguardando uma chamada assíncrona concluir e assim por diante. Você pode simplificar essas últimas etapas usando o AFX_SQL_ASYNC e AFX_SQL_SYNC macros. Para obter mais informações, consulte Macros e Globals na Referência da MFC.

Consulte também

Conceitos

Noções básicas ODBC