AFX_ODBC_CALL ( SQLFunc )
Paramètres
SQLFunc
Une fonction API ODBC. Pour plus d'informations sur les fonctions de l'API ODBC, reportez-vous à la référence du programmeur ODBC SDK.
Remarques
Utilisez cette macro pour appeler une fonction API ODBC qui peut retourner SQL_STILL_EXECUTING. AFX_ODBC_CALL appelle à plusieurs reprises la fonction jusqu'à ce qu'elle renvoie n'est plus SQL_STILL_EXECUTING.
Avant d'appeler AFX_ODBC_CALL, vous devez déclarer une variable, nRetCode , de type RETCODE. Vous pouvez utiliser CRecordset::Check pour vérifier la valeur de nRetCode après l'appel de macro.
Notez que l'ODBC MFC classes de traitement synchrone seulement de l'utilisation maintenant. Afin d'effectuer une opération asynchrone, vous devez appeler la fonction API ODBC SQLSetConnectOption. Pour plus d'informations, reportez-vous à la rubrique « L'exécution de fonctions asynchrone » dans la référence du programmeur ODBC SDK.
Exemple
Cet exemple utilise AFX_ODBC_CALL pour appeler la fonction API ODBC SQLColumns , qui retourne une liste des colonnes de la table nommée par strTableName . Note de la déclaration de nRetCode et de l'utilisation des membres de données du jeu d'enregistrements pour passer des paramètres à la fonction. L'exemple illustre également la vérification des résultats de l'appel à vérifier, une fonction de membre de la classe CRecordset. La variable prs est un pointeur vers un objet CRecordset , déclaré ailleurs.
/ / exemple de 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)) ;
Si (! prs - > cocher (nRetCode))
{
AfxThrowDBException (nRetCode, prs - > m_pdb, prs - > m_hstmt) ;
TRACE ("SQLColumns \n") ;
}
Voir aussinbsp ;AFX_SQL_ASY&NC, AFX_SQL_SYNC