CDBException::m_nRetCode
Contiene un codice di errore ODBC di tipo RETCODE restituito da una funzione di (API) dell'interfaccia di programmazione di applicazione ODBC.
Note
Questo tipo include i codici SQL- con prefisso definiti da ODBC e i codici di AFX_SQL-prefixed definiti dalle classi di database. Per CDBException, questo membro conterrà uno dei seguenti valori:
AFX_SQL_ERROR_API_CONFORMANCE il driver per una chiamata CDatabase::OpenEx o CDatabase::Open non rispetta ha richiesto il Livello 1 di conformità di API ODBC (SQL_OAC_LEVEL1).
Connessione diAFX_SQL_ERROR_CONNECT_FAILorigine dati non riuscita. È stato passato un puntatore NULLCDatabase al costruttore del recordset e successivamente creare una connessione basata su GetDefaultConnect non è riuscito.
AFX_SQL_ERROR_DATA_TRUNCATED è necessario più dati fornito un percorso di archiviazione per. Per informazioni sull'aumento della memorizzazione dei dati fornita per CString o tipi di dati CByteArray, vedere l'argomento nMaxLength per RFX_Text e RFX_Binary in "macro e Globals".
La chiamata diAFX_SQL_ERROR_DYNASET_NOT_SUPPORTED A CRecordset::Open che richiede un dynaset non è riuscita. I dynaset non sono supportati dal driver.
AFX_SQL_ERROR_EMPTY_COLUMN_LIST che si è tentato di aprire una tabella o quello specificato potrebbe non essere identificato come una chiamata di routine o un'istruzione SELECT ) ma non vi sono colonne desiderate nelle chiamate alle funzioni di trasferimento di campi di Record nell'override DoFieldExchange.
AFX_SQL_ERROR_FIELD_SCHEMA_MISMATCH il tipo di funzione RFX nell'override DoFieldExchange non è compatibile con il tipo di dati della colonna nel recordset.
AFX_SQL_ERROR_ILLEGAL_MODE è stato chiamato CRecordset::Update senza precedentemente chiamare CRecordset::AddNew o CRecordset::Edit.
AFX_SQL_ERROR_LOCK_MODE_NOT_SUPPORTED la richiesta di bloccare i record per l'aggiornamento non può essere eseguita perché il driver ODBC non supporta il blocco.
AFX_SQL_ERROR_MULTIPLE_ROWS_AFFECTED è stato chiamato CRecordset::Update o Elimina per una tabella senza la chiave univoca e modificato più record.
AFX_SQL_ERROR_NO_CURRENT_RECORD che si è tentato di modificare o eliminare un record eliminato in precedenza. È necessario passare a un nuovo record corrente dopo un'operazione di eliminazione.
AFX_SQL_ERROR_NO_POSITIONED_UPDATES la richiesta di un dynaset non può essere eseguita perché il driver ODBC non supporta gli aggiornamenti posizionati.
AFX_SQL_ERROR_NO_ROWS_AFFECTED è stato chiamato CRecordset::Update o Elimina, ma quando l'operazione ha avviato il record potrebbe non più disponibile.
AFX_SQL_ERROR_ODBC_LOAD_FAILED un tentativo di caricare il ODBC.DLL non riuscita; Windows non è stato trovato o non è stato possibile caricare in questa DLL. Questo errore è interno.
AFX_SQL_ERROR_ODBC_V2_REQUIRED la richiesta di un dynaset non può essere eseguita perché un driver ODBC conforme con il Livello 2 è obbligatorio.
AFX_SQL_ERROR_RECORDSET_FORWARD_ONLY un tentativo di scorrimento non riuscita perché l'origine dati non supporta lo scorrimento indietro.
La chiamata diAFX_SQL_ERROR_SNAPSHOT_NOT_SUPPORTED A CRecordset::Open che richiede uno snapshot non è riuscita. Gli snapshot non sono supportati dal driver. (Si dovrebbe verificarsi solo quando la libreria di cursori ODBC MFC ODBCCURS.DLL — non è presente.)
AFX_SQL_ERROR_SQL_CONFORMANCE il driver per una chiamata CDatabase::OpenEx o CDatabase::Open non conforme a livello di conformità ODBC SQL "Minore" (SQL_OSC_MINIMUM).
AFX_SQL_ERROR_SQL_NO_TOTAL che il driver ODBC non è in grado di specificare la dimensione totale di un valore di dati CLongBinary. Probabilmente l'operazione non è riuscita perché un blocco di memoria globale non può essere preassegnato.
AFX_SQL_ERROR_RECORDSET_READONLY che si è tentato di aggiornare un recordset di sola lettura, o l'origine dati è di sola lettura. Nessuna operazione di aggiornamento può essere eseguita con il recordset o l'oggetto CDatabase è associato.
Funzione diSQL_ERROR non riuscita. Il messaggio di errore restituito dalla funzione SQLError ODBC viene memorizzato nel membro dati m_strError.
La funzione diSQL_INVALID_HANDLE non è riuscita a causa di un handle di ambiente, gestisce di connessione, o di handle non valide dell'istruzione. Indica un errore di programmazione. Non sono disponibili informazioni aggiuntive disponibili dalla funzione SQLErrorODBC.
I codici SQL- con prefisso sono definiti da ODBC. I codici AFX- con prefisso sono definiti in AFXDB.H, trovato in MFC \ INCLUDE.
Requisiti
Header: afxdb.h