Sdílet prostřednictvím


ODBC: Volání funkcí rozhraní API ODBC přímo

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