CDBException::m_nRetCode
Contém um código de erro ODBC do tipo RETCODE retornado por uma função de (API) de interface de programação de aplicativos ODBC.
Comentários
Este tipo inclui os códigos SQL- prefixados definidos por ODBC e os códigos de AFX_SQL-prefixed definidos pelas classes de banco de dados. Para CDBException, esse membro conterá um dos seguintes valores:
AFX_SQL_ERROR_API_CONFORMANCE O driver para uma chamada de CDatabase::OpenEx ou de CDatabase::Open não está de acordo com o nível 1 necessário de compatibilidade de API (SQL_OAC_LEVEL1).
Conexão deAFX_SQL_ERROR_CONNECT_FAIL para a fonte de dados falhou. Você passou um ponteiro de NULOCDatabase para o construtor do conjunto de registros e a tentativa subseqüente para criar uma conexão com base em GetDefaultConnect falhou.
AFX_SQL_ERROR_DATA_TRUNCATED você solicitou mais de dados que você forneceu o armazenamento para. Para obter informações sobre como lançar o armazenamento de dados fornecido para CString ou tipos de dados de CByteArray , consulte o argumento de nMaxLength para RFX_Text e RFX_Binary em “macros.” e Globais
A chamada deAFX_SQL_ERROR_DYNASET_NOT_SUPPORTED A CRecordset::Open que solicita um dynaset falhou. Dynasets não é suportado pelo driver.
AFX_SQL_ERROR_EMPTY_COLUMN_LIST que você tentou abrir uma tabela (ou o que você assim não pôde ser identificado como uma chamada de procedimento ou uma declaração de SELECIONAR ) mas não há nenhuma coluna identificada em chamadas de função de troca do campo do registro (RFX) em sua sobrescrita de DoFieldExchange .
AFX_SQL_ERROR_FIELD_SCHEMA_MISMATCH o tipo de uma função de RFX em sua sobrescrita de DoFieldExchange não é compatível com o tipo de dados da coluna no conjunto de registros.
AFX_SQL_ERROR_ILLEGAL_MODE você chamou CRecordset::Update sem anteriormente chamar CRecordset::AddNew ou CRecordset::Edit.
AFX_SQL_ERROR_LOCK_MODE_NOT_SUPPORTED a solicitação bloquear registros para atualização não pôde ser atingido porque o driver ODBC não oferece suporte ao bloqueio.
AFX_SQL_ERROR_MULTIPLE_ROWS_AFFECTED você CRecordset::Update chamado ou Excluir para uma tabela sem a chave exclusiva e mais registros modificados.
AFX_SQL_ERROR_NO_CURRENT_RECORD que você tentou editar ou excluir um registro previamente excluído. Você deve rolar um novo registro atual depois de uma exclusão.
AFX_SQL_ERROR_NO_POSITIONED_UPDATES a solicitação para um dynaset não pôde ser atingido porque o driver ODBC não suporta atualizações posicionadas.
AFX_SQL_ERROR_NO_ROWS_AFFECTED você chamou CRecordset::Update ou Excluir, mas quando a operação iniciou o registro não pôde ser encontrado.
AFX_SQL_ERROR_ODBC_LOAD_FAILED uma tentativa de carregar o ODBC.DLL falhou; As janelas não pôde localizar ou não podem carregar essa DLL. Este erro é fatal.
AFX_SQL_ERROR_ODBC_V2_REQUIRED a solicitação para um dynaset não pôde ser atingido como um driver ODBC compatível do nível 2 é necessário.
AFX_SQL_ERROR_RECORDSET_FORWARD_ONLY uma tentativa de rolagem não foi bem-sucedida pois a fonte de dados não oferece suporte a rolagem para trás.
A chamada deAFX_SQL_ERROR_SNAPSHOT_NOT_SUPPORTED A CRecordset::Open que solicita um instantâneo falhou. Os instantâneos não são suportados pelo driver. (Isso só deve ocorrer quando a biblioteca do cursor ODBC — ODBCCURS.DLL — não está presente.)
AFX_SQL_ERROR_SQL_CONFORMANCE o driver para uma chamada de CDatabase::OpenEx ou de CDatabase::Open não estão de acordo com a mesma necessário ODBC SQL no nível “mínimo” (SQL_OSC_MINIMUM).
AFX_SQL_ERROR_SQL_NO_TOTAL o driver ODBC foi incapaz de especificar o tamanho total de um valor de dados de CLongBinary . A operação falhou porque provavelmente um bloco de memória global não pode ser preallocated.
AFX_SQL_ERROR_RECORDSET_READONLY que você tentar atualizar um recordset somente leitura, ou a fonte de dados é somente leitura. Qualquer operação de atualização pode ser executada com o conjunto de registros ou CDatabase do objeto que está associado.
Função deSQL_ERROR falhou. A mensagem de erro retornada pela função SQLError ODBC é armazenada no membro de dados de m_strError .
A função deSQL_INVALID_HANDLE fracassada devido a uma maçaneta inválida de ambiente, manipular de conexão, ou para o identificador da declaração. Isso indica um erro de programação. Quaisquer informações adicionais está disponível na função SQLErrorODBC.
Os códigos SQL-prefixados são definidos por ODBC. Os códigos AFX- prefixados são definidos em AFXDB.H, encontrado no MFC \ INCLUEM.
Requisitos
Cabeçalho: afxdb.h