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