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

Vedere anche

Riferimenti

Classe di CDBException

Grafico della gerarchia

Classe CDatabase

Classe CLongBinary

Classe di CRecordset