AFX_ODBC_CALL

AFX_ODBC_CALL ( SQLFunc )

Parametri

SQLFunc

Una funzione API ODBC. Per ulteriori informazioni sulle funzioni API ODBC, vedere ODBC SDK Programmer di riferimento.

Osservazioni

Usa questa macro per chiamare qualsiasi funzione API ODBC che possa restituire SQL_STILL_EXECUTING. AFX_ODBC_CALL chiama la funzione ripetutamente fino a che esso non restituisce più SQL_STILL_EXECUTING.

Prima di richiamare il AFX_ODBC_CALL, è necessario dichiarare una variabile, nRetCode , di tipo RETCODE. È possibile utilizzare CRecordset::Check per controllare il valore di nRetCode dopo la chiamata di macro.

Si noti che l'ODBC MFC classi elaborazione sincrona solo uso di ora. Per eseguire un'operazione asincrona, è necessario chiamare la funzione API ODBC SQLSetConnectOption. Per ulteriori informazioni, vedere l'argomento "L'esecuzione di funzioni asincrono" in ODBC SDK Programmer di riferimento.

Esempio

Questo esempio utilizza AFX_ODBC_CALL per chiamare la funzione API ODBC SQLColumns , che restituisce un elenco delle colonne nella tabella denominata da strTableName . Si noti la dichiarazione di nRetCode e l'uso dei membri dati recordset per passare i parametri della funzione. L'esempio illustra anche controllando i risultati della chiamata con Check, una funzione membro della classe CRecordset. La variabile prs è un puntatore a un oggetto CRecordset , dichiarato altrove.

 / / esempio per 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));

Se (! prs - > Check (nRetCode))
{
   AfxThrowDBException (nRetCode, prs - > m_pdb, prs - > m_hstmt);
   TRACE ("SQLColumns failed\n");
}

Vedere anchenbsp;AFX_SQL_ASY&NC, AFX_SQL_SYNC

Index