Udostępnij za pośrednictwem


ODBC: Wywoływanie funkcji interfejsu API ODBC bezpośrednio

Klasy bazy danych zapewnić prostszy interfejs do źródła danych niż ODBC.W rezultacie klas nie hermetyzowania wszystkich interfejsu API ODBC.Dla funkcji, która znajduje się poza możliwości klas musi bezpośrednio wywoływać funkcje interfejsu API ODBC.Na przykład musi wywoływać funkcje wykazu ODBC (:: SQLColumns, :: SQLProcedures, :: SQLTablesi inne) bezpośrednio.

[!UWAGA]

Źródła danych ODBC są dostępne za pośrednictwem klas MFC ODBC, jak opisano w tym temacie lub za pośrednictwem klas MFC obiektu DAO (Data Access).

Bezpośrednio do wywołania funkcji ODBC API należy wykonać te same kroki, które mogłyby wykonać, jeśli zostały wywołań bez ramy.Te kroki są:

  • Przydzielić pamięć dla żadnych wyników, które zwraca wywołanie.

  • Przekazać ODBC HDBC lub HSTMT obsługi, w zależności od podpisu parametr funkcji.Użyj AFXGetHENV makro pobrać uchwytu ODBC.

    Zmienne składowe CDatabase::m_hdbc i CRecordset::m_hstmt są dostępne, dzięki czemu nie trzeba zaalokować i zainicjować tych samodzielnie.

  • Może wywołać dodatkowych funkcji ODBC do przygotowania lub wykonaj głównych Zamów.

  • Po zakończeniu, którego przydział należy cofnąć składowania.

Aby uzyskać więcej informacji na temat tych kroków, zobacz Open Database Connectivity ((ODBC)) SDK w dokumentacji MSDN.

Oprócz te kroki należy podjąć dodatkowe kroki w celu wyboru wartości zwracane funkcji, należy upewnić się, że program nie oczekuje na wywołanie asynchroniczne Zakończ i tak dalej.Te ostatnie etapy można uprościć, korzystając z AFX_SQL_ASYNC i AFX_SQL_SYNC makr.Aby uzyskać więcej informacji, zobacz makr i Globals w Odniesienia MFC.

Zobacz też

Koncepcje

Podstawowe informacje O ODBC