CDBException::m_nRetCode

说明:
包含由ODBC应用接口(API)函数返回的RETCODE型ODBC错误代码。这个类型包括由ODBC定义的SQL前缀代码和由数据库类定义的AFX_SQL前缀代码。对于CDBException,这个成员可能包含下列值之一:
·AFX_SQL_ERROR_API_CONFORMANCE对CDatabase::OpenEx或CDatabase::Open调用的驱动程序不符合要求的ODBC API一致级别1(SQL_OAC_ LEVEL1)。
·AFX_SQL_ERROR_CONNECT_FAIL到数据源的连接失败。向记录集构造程序传递一个NULL CDatabase指针,接下来试图创建基于GetDefaultConnect的连接失败。
·AFX_SQL_ERROR_DATA_TRUNCATED需要的数据比提供使用的存储空间要多。有关对CString或CByteArray数据类型增加提供了数据存储的信息,请参阅RFX_Text的mMaxLength参数和“宏和全局量”下的RFX_Binary。
·AFX_SQL_ERROR_DYNASET_NOT_SUPPORTED询问动态集的CRecordset::Open调用失败。驱动程序不支持动态集。
·AFX_SQL_ERROR_EMPTY_COLUMN_LIST试图打开一个表(或者所给内容不能标识为过程调用或SELECT语句),但DoFieldExchange覆盖中记录字段交换(RFX)函数调用没有标识列。
·AFX_SQL_ERROR_FIELD_SCHEMA_MISMATCHDoFieldExchange覆盖中的RFX函数类型与记录集中的列数据类型不匹配。
·AFX_SQL_ERROR_ILLEGAL_MODE在调用CRecordset::Update之前没调用CRecordset::AddNew或CRecordset::Edit。
·AFX_SQL_ERROR_LOCK_MODE_NOT_SUPPORTED对更新封锁记录的要求由于ODBC驱动程序不支持封锁而失败。
·AFX_SQL_ERROR_MULTIPLE_ROWS_AFFECTED对没有唯一码的表调用CRecordset::Update或Delete,并改变了多条记录。
·AFX_SQL_ERROR_NO_CURRENT_RECORD试图编辑或删除一条以前已删除的记录。删除之后必须滚动到一条新的当前记录。
·AFX_SQL_ERROR_POSITIONED_UPDATES对动态集的要求由于ODBC驱动程序不支持定位更新而失败。
·AFX_SQL_ERROR_NO_ROWS_AFFECTED调用了CRecordset::Update或Delete,但操作开始时找不到记录。
·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请求快照的CRecordset::Open调用失败。驱动程序不支持快照(只有在ODBC游标库ODBCCURS.DLL没有时出现这个错误)。
·AFX_SQL_ERROR_SQL_CONFORMANCE用于CRecordset::OpenEx或CRecordset::Open调用的驱动程序不符合需要的“最小”ODBC SQL一致级别(SQL_OSC_MININUM)。
·AFX_SQL_ERROR_SQL_NO_TOTALODBC驱动程序不能指定Clong Binary数据值总大小。由于全局内存块不能预分配,操作很可能失败。
·AFX_SQL_ERROR_RECORDSET_READONLY试图更新只读记录集或者数据源是只读的。对记录集或它对应的CDatabase对象不能执行任何更新操作。
·SQL_ERROR函数失败。由::SQLError返回的错误消息存放在m_strError数据成员中。
·SQL_INVALID_HANDLE由于无效环境句柄、连接句柄或语句句柄造成函数失败。这表示有程序错误。::SQLError没有有效的附加信息。
SQL前缀代码由ODBC定义。AFX前缀代码在MFC\INCLUDE中的AFXDB.H内定义。

请参阅:CDatabase, CLongBinary, CRecordset