AFX_ODBC_CALL ( SQLFunc )
Parametry
SQLFunc
Funkcja ODBC API. Aby uzyskać więcej informacji na temat funkcji ODBC API zobacz Podręcznik programisty SDK ODBC.
Uwagi
To makro umożliwia wywołanie funkcji ODBC API, które mogą zwracać SQL_STILL_EXECUTING. AFX_ODBC_CALL wielokrotnie wywołuje funkcję, aż zwróci ona już SQL_STILL_EXECUTING.
Zanim wywoływanie AFX_ODBC_CALL, należy zadeklarować zmienną, nRetCode , typu RETCODE. CRecordset::Check można użyć do sprawdzenia wartości nRetCode po zaproszeniu makra.
Należy zauważyć, że MFC ODBC klasy obecnie stosowanie tylko synchroniczne przetwarzania. Aby wykonać operację asynchroniczną, należy wywołać funkcję ODBC API SQLSetConnectOption. Aby uzyskać więcej informacji zobacz temat „wykonywanie funkcji asynchronicznie" Podręcznik programisty SDK ODBC.
Przykład
W tym przykładzie użyto AFX_ODBC_CALL do wywołania funkcji ODBC API SQLColumns , która zwraca listę kolumn w tabeli o nazwie strTableName . Uwaga deklaracji nRetCode i stosowania rekordów danych członków aby przekazywać parametry funkcji. Przykład ilustruje również, sprawdzanie wyników wywołania z Sprawdź, funkcji składowej klasy CRecordset. Zmienna prs jest wskaźnik do obiektu CRecordset , zadeklarowanych gdzie indziej.
/ / przykład AFX_ODBC_CALL
RETCODE nRetCode;
AFX_ODBC_CALL (:: SQLColumns (SPE gt; m_hstmt,
(UCHAR *)WARTOŚĆ NULL, SQL_NTS, (UCHAR *) WARTOŚĆ NULL,
SQL_NTS, (UCHAR *)(constchar*) strTableName,
SQL_NTS, (UCHAR *) NULL, SQL_NTS));
Jeżeli (! SPE - > wyboru (nRetCode))
{
AfxThrowDBException (nRetCode, SPE - > m_pdb, SPE - > m_hstmt);
ŚLEDŹ ("SQLColumns failed\n");
}
Zobacz teżnbsp;AFX_SQL_ASY&NC, AFX_SQL_SYNC