AFX_ODBC_CALL
Używanie tego makra do wywołania dowolnej funkcji interfejsu API ODBC, które mogą zwracać SQL_STILL_EXECUTING.
AFX_ODBC_CALL(SQLFunc )
Parametry
- SQLFunc
Funkcja interfejsu ODBC API.Aby uzyskać więcej informacji dotyczących funkcji interfejsu API ODBC, zobacz Windows SDK.
Uwagi
AFX_ODBC_CALLwielokrotnie wywołuje funkcję aż do jej już zwraca SQL_STILL_EXECUTING.
Przed wywołaniem AFX_ODBC_CALL, należy zadeklarować zmienną, nRetCode, typ RETCODE.
Należy zauważyć, że MFC ODBC klasy przetwarzanie tylko synchroniczne Użyj teraz.Aby wykonać operację asynchroniczną, należy wywołać funkcji interfejsu API ODBC SQLSetConnectOption.Aby uzyskać więcej informacji, zobacz temat "Wykonywanie funkcji asynchronicznie" w Windows SDK.
Przykład
W poniższym przykładzie użyto AFX_ODBC_CALL do wywołania SQLColumns funkcji interfejsu API ODBC, która zwraca listę kolumn w tabeli o nazwie przez strTableName.Należy zwrócić uwagę deklaracji o nRetCode i stosowania elementów członkowskich danych zestawu rekordów do przekazania parametrów do funkcji.W przykładzie zilustrowano również sprawdzanie wyników wywołania z sprawdzić, funkcji składowej klasy CRecordset.Zmienna prs jest wskaźnikiem do CRecordset obiektu zadeklarowane w innych miejscach.
RETCODE nRetCode;
AFX_ODBC_CALL(::SQLColumns(prs->m_hstmt, (SQLTCHAR*)NULL, SQL_NTS, (SQLTCHAR*)NULL,
SQL_NTS, (SQLTCHAR*)strTableName.GetBuffer(), SQL_NTS, (SQLTCHAR*)NULL, SQL_NTS));
if (!prs->Check(nRetCode))
{
AfxThrowDBException(nRetCode, prs->m_pDatabase, prs->m_hstmt);
TRACE(_T("SQLColumns failed\n"));
}
Wymagania
Nagłówek: afxdb.h