CDBException::m_nRetCode
Contient le code d'erreur ODBC de type RETCODE retourné par une fonction d'interface (API) de programmation ODBC.
Notes
Ce type inclut des codes Langage SQL- pour préfixe définis par ODBC et AFX_SQL-prefixed code défini par les classes de base de données. Pour CDBException, ce membre contient une des valeurs suivantes :
AFX_SQL_ERROR_API_CONFORMANCE le gestionnaire pour un appel d' CDatabase::OpenEx ou d' CDatabase::Open ne respecte pas requise le niveau 1 ()SQL_OAC_LEVEL1de conformité d'API ODBC.
Connexion d'AFX_SQL_ERROR_CONNECT_FAIL à la source de données a échoué. Vous avez passé un pointeur de NULLCDatabase à votre constructeur de recordsets et la tentative ultérieure de créer une connexion basée sur GetDefaultConnect a échoué.
AFX_SQL_ERROR_DATA_TRUNCATED vous avez demandé plus de données que vous avez fourni la mémoire pour. Pour plus d'informations sur l'augmentation du stockage des données fourni pour CString ou des types de données d' CByteArray , consultez l'argument d' nMaxLength pour RFX_Text et RFX_Binary sous des macros et le « . » Globals
L'appel d'AFX_SQL_ERROR_DYNASET_NOT_SUPPORTED Un à CRecordset::Open demandant une feuille de réponse dynamique a échoué. Les feuilles de réponse dynamiques ne sont pas pris en charge par le gestionnaire.
AFX_SQL_ERROR_EMPTY_COLUMN_LIST que vous avez tenté d'ouvrir un tableau (ou que vous avez donné ne pouvez pas être marqué comme un appel de procédure ou une instruction de SELECT ) mais aucune colonne identifiée dans les appels de fonction d'enregistrement de l'échange de RFX (record field exchange) dans la substitution d' DoFieldExchange .
AFX_SQL_ERROR_FIELD_SCHEMA_MISMATCH le type d'une fonction RFX dans la substitution d' DoFieldExchange n'est pas compatible avec le type de données de colonne le recordset.
AFX_SQL_ERROR_ILLEGAL_MODE vous avez appelé CRecordset::Update sans appeler précédemment CRecordset::AddNew ou CRecordset::Edit.
AFX_SQL_ERROR_LOCK_MODE_NOT_SUPPORTED votre application pour verrouiller des enregistrements pour la mise à jour ne peut pas être accompli car votre pilote ODBC ne prend pas en charge le verrouillage.
AFX_SQL_ERROR_MULTIPLE_ROWS_AFFECTED vous CRecordset::Update appelé ou Supprimer pour un tableau sans aucune clé unique et plusieurs enregistrements modifiés.
AFX_SQL_ERROR_NO_CURRENT_RECORD que vous avez essayé de modifier ou de supprimer un enregistrement précédemment supprimé. Vous devez faire défiler vers un nouvel enregistrement actif après une suppression.
AFX_SQL_ERROR_NO_POSITIONED_UPDATES votre application d'une feuille de réponse dynamique ne peut pas être accompli car votre pilote ODBC ne prend pas en charge les mises à jour positionnées.
AFX_SQL_ERROR_NO_ROWS_AFFECTED vous avez appelé CRecordset::Update ou Supprimer, mais lorsque l'opération a démarré l'enregistrement peut plus être trouvé.
AFX_SQL_ERROR_ODBC_LOAD_FAILED une tentative de chargement l'ODBC.DLL a échoué ; Les fenêtres n'ont pas pu les rechercher ou n'ont pas pu charger cette DLL. Cette erreur est mortelle.
AFX_SQL_ERROR_ODBC_V2_REQUIRED votre application d'une feuille de réponse dynamique ne peut pas être accompli car un pilote ODBC conforme au niveau 2 est requis.
AFX_SQL_ERROR_RECORDSET_FORWARD_ONLY une tentative de défilement a échoué parce que la source de données ne prend pas en charge le défilement arrière.
L'appel d'AFX_SQL_ERROR_SNAPSHOT_NOT_SUPPORTED Un à CRecordset::Open qui demande un instantané a échoué. Les instantanés ne sont pas pris en charge par le gestionnaire. (Cela ne doit se produire lorsque la bibliothèque de curseurs ODBC — ODBCCURS.DLL — n'est pas présente.)
AFX_SQL_ERROR_SQL_CONFORMANCE le gestionnaire pour un appel d' CDatabase::OpenEx ou d' CDatabase::Open ne respecte pas la conformité requise ODBC SQL au niveau de le « minimum » (SQL_OSC_MINIMUM).
AFX_SQL_ERROR_SQL_NO_TOTAL le pilote ODBC n'a pas pu spécifier la taille totale d'une valeur de données d' CLongBinary . L'exécution s'est probablement échoué parce qu'un bloc de mémoire global ne peut pas être préaffecté.
AFX_SQL_ERROR_RECORDSET_READONLY que vous avez essayé de mettre à jour un recordset en lecture seule, ou la source de données est en lecture seule. Aucune opération de mise à jour ne peut être exécutée avec le recordset ou l'objet d' CDatabase auquel il est associé.
Fonction deSQL_ERROR échoué. Le message d'erreur retourné par la fonction SQLError ODBC est stocké dans le membre de m_strError .
La fonction deSQL_INVALID_HANDLE a échoué en raison d'un handle d'environnement, d'un handle de connexion, ou un modèle d'instruction non valide. Cela indique une erreur de programmation. Aucune informations supplémentaires n'est disponible dans la fonction SQLErrorODBC.
Les codes Langage SQL- pour préfixe sont définis par ODBC. Les codes AFX- pour préfixe sont définis dans AFXDB.H, a trouvé dans MFC \INCLUDE.
Configuration requise
Header: afxdb.h