CDBException::m_nRetCode

包含ODBC应用程序编程接口(API)函数返回的类型 RETCODE ODBC错误代码。

备注

此类型(包括ODBC定义的SQL前缀的代码和数据库选件类定义的AFX_SQL-prefixed代码。 对于 CDBException,该成员将包含下列值之一:

  • AFX_SQL_ERROR_API_CONFORMANCECDatabase::OpenEx 的驱动器或 CDatabase::Open 调用不符合所需的ODBC API一致性级别1 (SQL_OAC_LEVEL1)。

  • 与失败的数据源的AFX_SQL_ERROR_CONNECT_FAIL 连接。 您传递的 NULLCDatabase 指针传递给记录集构造函数,并且后续尝试创建基于 GetDefaultConnect 的连接失败。

  • AFX_SQL_ERROR_DATA_TRUNCATED 相比要提供存储为请求更多数据。 有关增加 CStringCByteArray 数据类型的提供的数据存储区的信息,为 RFX_TextRFX_Binary 请参见 nMaxLength 参数在“宏下和全局变量”。

  • AFX_SQL_ERROR_DYNASET_NOT_SUPPORTED A调用所请求的 CRecordset::Open 动态集失败。 动态集不受该驱动程序支持。

  • 您尝试打开表(AFX_SQL_ERROR_EMPTY_COLUMN_LIST 以及您将无法识别,当过程调用或 SELECT 语句),但不在记录字段交换(rfx)标识的列函数调用中的 DoFieldExchange 重写。

  • AFX_SQL_ERROR_FIELD_SCHEMA_MISMATCH 一个RFX函数的类型在您的 DoFieldExchange 重写的与列的数据类型记录集。

  • AFX_SQL_ERROR_ILLEGAL_MODE 您调用 CRecordset::Update,不事先调用 CRecordset::AddNewCRecordset::Edit

  • 因为您的ODBC驱动程序不支持锁定,AFX_SQL_ERROR_LOCK_MODE_NOT_SUPPORTED 对锁定记录的请求的更新无法执行。

  • AFX_SQL_ERROR_MULTIPLE_ROWS_AFFECTED 您调用 CRecordset::UpdateDelete 表的无唯一键并更改了多个记录。

  • 您尝试编辑或删除以前已删除的记录AFX_SQL_ERROR_NO_CURRENT_RECORD。 必须滚动到一个新的当前记录在完成删除后引发。

  • 因为您的ODBC驱动程序不支持定位更新,AFX_SQL_ERROR_NO_POSITIONED_UPDATES 您的需要动态集无法执行。

  • AFX_SQL_ERROR_NO_ROWS_AFFECTED 您调用 CRecordset::UpdateDelete,但是,随着操作启动时不能再找到该记录。

  • AFX_SQL_ERROR_ODBC_LOAD_FAILED 尝试加载ODBC.DLL失败;Windows无法找到或无法加载此DLL。 此错误是致命的。

  • 因为需要,AFX_SQL_ERROR_ODBC_V2_REQUIRED 您的需要动态集不能执行一个级别2的ODBC驱动程序。

  • 因为该数据源不支持向后滚动,AFX_SQL_ERROR_RECORDSET_FORWARD_ONLY 尝试移动不成功。

  • AFX_SQL_ERROR_SNAPSHOT_NOT_SUPPORTED A调用所请求的 CRecordset::Open 快照失败。 快照不受该驱动程序支持。 (这应该仅出现,在ODBC游标库— ODBCCURS.DLL —不存在。)

  • AFX_SQL_ERROR_SQL_CONFORMANCECDatabase::OpenEx 的驱动器或 CDatabase::Open 调用不符合“最少量的”必需的ODBC SQL一致性级别(SQL_OSC_MINIMUM)。

  • AFX_SQL_ERROR_SQL_NO_TOTAL ODBC驱动程序无法指定 CLongBinary 数据值的总大小。 因为全局内存块不能预分配,操作可能失败。

  • 尝试 更新只读记录集的AFX_SQL_ERROR_RECORDSET_READONLY,或者数据源是只读的。 更新操作不能对与其关联的记录集或 CDatabase 对象。

  • 失败的SQL_ERROR 功能。 ODBC函数返回的错误消息 SQLErrorm_strError 数据成员中存储。

  • SQL_INVALID_HANDLE 功能失败由于无效环境句柄、连接处理或语句处理。 这表示编程错误。 附加信息从ODBC函数 SQLError不可用。

SQL前缀的代码由ODBC定义的。 AFX前缀的代码在AFXDB.H中定义,找到在MFC \ include。

要求

Header: afxdb.h

请参见

参考

CDBException选件类

层次结构图

CDatabase选件类

CLongBinary类选件

CRecordset选件类