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çã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.