Freigeben über


AFX_ODBC_CALL

Verwenden Sie dieses Makro, um eine ODBC-API-Funktion aufrufen, die möglicherweise SQL_STILL_EXECUTING zurückgibt.

AFX_ODBC_CALL(SQLFunc )

Parameter

  • SQLFunc
    Eine ODBC-API-Funktion.Weitere Informationen über ODBC-API-Funktionen finden Sie unter Windows SDK.

Hinweise

AFX_ODBC_CALL ruft wiederholt die Funktion an, bis sie nicht mehr SQL_STILL_EXECUTING zurückgibt.

Bevor Sie AFX_ODBC_CALL aufrufen, müssen Sie eine Variable deklarieren, nRetCode des Typs RETCODE.

Beachten Sie, dass die MFC-ODBC-Klassen jetzt nur synchrone Verarbeitung verwendet werden.Um einen asynchronen Vorgang auszuführen, müssen Sie die ODBC-API-Funktion SQLSetConnectOption aufrufen.Weitere Informationen finden Sie, dass das ausgeführte Thema "in" asynchron Windows SDK funktioniert.

Beispiel

In diesem Beispiel wird AFX_ODBC_CALL, um die Funktion SQLColumns ODBC API aufzurufen, die eine Liste der Spalten in der Tabelle zurückgibt, die durch strTableName benannt ist.Beachten Sie die Deklaration von nRetCode und Verwendung von Recordsets datenmember, Parameter an die Funktion übergeben wird.Im Beispiel wird auch das Überprüfen der Ergebnisse des Aufrufs mit Aktivieren, eine Memberfunktion der Klasse CRecordset.Variable prs ist ein Zeiger auf ein CRecordset-Objekt an anderer Stelle deklariert.

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"));
}

Anforderungen

Header: afxdb.h

Siehe auch

Referenz

AFX_SQL_ASYNC

AFX_SQL_SYNCHRONIZATION

Konzepte

MFC-Makros und -globale Werte