AFX_ODBC_CALL ( SQLFunc )
Parameter
SQLFunc
Eine ODBC-API-Funktion. Weitere Informationen über ODBC-API-Funktionen finden Sie in der ODBC SDK Programmer's Reference.
Bemerkungen
Verwenden Sie dieses Makro für jede ODBC API-Funktion aufrufen, die SQL_STILL_EXECUTINGzurückgeben kann. AFX_ODBC_CALL Ruft die Funktion wiederholt, bis es nicht mehr SQL_STILL_EXECUTING zurückgibt.
Vor dem Aufruf von AFX_ODBC_CALL, müssen Sie deklarieren Sie eine Variable, nRetCode , vom Typ RETCODE. CRecordset::Check können Sie den Wert des nRetCode nach dem Makro-Aufruf.
Beachten Sie, dass die MFC-ODBC-jetzt Verwendung nur synchrone Verarbeitung Klassen. Um einen asynchronen Vorgang auszuführen, müssen Sie die ODBC-API-Funktion SQLSetConnectOptionaufrufen. Weitere Informationen finden Sie im Thema "Ausführen von Funktionen asynchron" in der ODBC SDK Programmer's Reference.
Beispiel
Dieses Beispiel verwendet AFX_ODBC_CALL , um die SQLColumns -ODBC-API-Funktion aufrufen, die eine Liste der Spalten in der Tabelle mit dem Namen zurückgibt strTableName . Beachten Sie die Deklaration von nRetCode und die Verwendung der Datenmember des Recordsets Parameter an die Funktion übergeben. Das Beispiel veranschaulicht auch, Überprüfen der Ergebnisse des Aufrufs mit Überprüfen Sieeine Memberfunktion der Klasse CRecordset. Die Variable prs ist ein Zeiger auf ein CRecordset -Objekt, das an anderer Stelle deklariert.
/ / Beispiel für AFX_ODBC_CALL
RETCODE nRetCode;
AFX_ODBC_CALL (:: SQLColumns (Prs-Gt; M_hstmt,
(UCHAR *)NULL, SQL_NTS, (UCHAR *) NULL,
SQL_NTS, (UCHAR *)(constchar*) StrTableName,
SQL_NTS, (UCHAR *) NULL, SQL_NTS));
Wenn (! Prs - > Check (nRetCode))
{
AfxThrowDBException (nRetCode, Prs - > M_pdb, Prs - > M_hstmt);
TRACE ("SQLColumns fehlgeschlagen\n");
}
Siehe auch&Nbsp;AFX_SQL_ASYNC, AFX_SQL_SYNC