Partilhar via


ODBC: Chamando funções de API ODBC diretamente

As classes de banco de dados fornecem uma interface mais simples para um fonte de dados que o ODBC.Como resultado, as classes não encapsulam a API de ODBC.Para qualquer funcionalidade que fica fora de habilidades das classes, você deve chamar funções de API ODBC diretamente.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 através das classes MFC ODBC, como descrito neste tópico ou através das classes MFC Data Access Object (DAO).

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

  • Alocar armazenamento de resultados, a chamada retorna.

  • Passe um ODBC HDBC ou HSTMT tratar, dependendo a assinatura de parâmetro da função.Use o AFXGetHENV macro para recuperar o identificador 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 ODBC adicionais ao preparar ou siga a chamada principal.

  • Desalocar armazenamento quando terminar.

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 valores de retorno de 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 etapas últimos usando o AFX_SQL_ASYNC e AFX_SQL_SYNC macros.Para obter mais informações, consulte Macros e Globals na Referência MFC.

Consulte também

Conceitos

Noções básicas sobre ODBC