Compartilhar via


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

Consulte também

Referência

Classe de CDBException

Gráfico de hierarquia

Classe de CDatabase

Classe de CLongBinary

Classe de CRecordset