Sdílet prostřednictvím


ODBC: Přímé volání funkcí rozhraní API ODBC

Databázové třídy poskytují jednodušší rozhraní ke zdroji dat než rozhraní ODBC. Třídy v důsledku toho nezapouzdří všechna rozhraní API ODBC. Pro funkce, které spadají mimo schopnosti tříd, musíte přímo volat funkce rozhraní ODBC API. Například musíte přímo volat funkce katalogu rozhraní ODBC (::SQLColumns, ::SQLProcedures, ::SQLTables a jiné).

Poznámka

Zdroje dat rozhraní ODBC jsou přístupné pomocí tříd knihovny MFC rozhraní ODBC, jak je popsáno v tomto tématu nebo pomocí tříd knihovny MFC rozhraní DAO (Data Access Objects).

Chcete-li přímo volat funkce rozhraní ODBC API, musíte provést stejné kroky, které byste provedli v případě, že byste volali funkce bez použití architektury. Tyto kroky jsou:

  • Přidělení úložiště pro výsledky, které volání vrátí.

  • Předání popisovače rozhraní ODBC HDBC nebo HSTMT v závislosti na parametru signatury funkce. Použijte makro AFXGetHENV pro načtení popisovače rozhraní ODBC.

    Členské proměnné CDatabase::m_hdbc a CRecordset::m_hstmt jsou k dispozici, takže je nemusíte alokovat ani inicializovat sami.

  • Možné volání dalších funkcí rozhraní ODBC k přípravě nebo zpracování hlavního volání.

  • Navrácení úložiště po dokončení.

Pro další informace o těchto krocích si prohlédněte sadu SDK rozhraní ODBC (Open Database Connectivity) v dokumentaci MSDN.

Vedle těchto kroků budete muset provést další kroky pro kontrolu vrácených hodnot funkce a zajistit, že program nebude čekat na asynchronní volání proto, aby skončil, atd. Tyto poslední kroky můžete zjednodušit pomocí maker AFX_SQL_ASYNC a AFX_SQL_SYNC. Další informace naleznete v Makra a Globals v Odkaz knihovny MFC.

Viz také

Koncepty

Základní informace o rozhraní ODBC