CDaoException

CObject
 └CException
   └CDaoException

CDaoException对象表示了一个由MFC中基于DAO的数据库类产生的异常条件。类CDaoException包含了可用于检测异常原因的公有属性。CDaoException对象由DAO数据库类的成员函数构造和产生。
注意:
DAO数据库类和MFC中基于ODBC的数据库类是截然不同的。所有的DAO数据库类的命名中都包括CDao前缀。但仍可以采用DAO数据库类存取ODBC数据源。一般说来,在MFC中,基于DAO的类的处理能力比基于ODBC的类的处理能力要强;基于DAO的类可以通过ODBC数据源对应的数据库引擎存取ODBC数据源。基于DAO的类也支持数据定义语言(DDL)一类的操作,如通过类在数据库中建表,而勿须直接调用DAO。有关ODBC类产生的异常的信息,请参阅“CDBException”。
可以在CATCH表达式内存取处理异常的对象。也可以在应用中利用全局函数AfxThrowException产生自己的CDaoException对象。
在MFC中,所有的DAO错误都是作为异常出现,其类型为CDaoException。在捕获一个CDaoException类型的异常后,可以使用CDaoException的成员函数从存储于数据库引擎的Errors集合中的DAO错误对象中获得相关信息。每个错误发生时,就会把一个或多个错误对象放到Errrors集合中(通常集合中只会有一个错误对象;在使用ODBC数据源时,可能会出现多个错误对象。)在另一个DAO操作产生错误时,Errors集合将被清空,然后记下新的错误对象。那些不产生错误的DAO操作对Errors集合没有影响。
关于DAO错误的代码,请参阅头文件DAOERR.H。相关信息,请参阅DAO帮助中的“可捕获的数据存取错误”部分。
要了解有关异常处理以及CDaoException对象的更详细的信息,请参阅联机文档“Visual C++ 程序员指南”中的“异常”和“异常:数据库异常”。在“异常:数据库异常”中还包括了处理DAO中的异常的例子代码。
#include <afxdao.h>
请参阅:CException

CDaoException类的成员

数据成员
m_scode与错误相关的SCODE值
m_nAfxDaoError包含了MFC中DAO类的任何错误的扩展代码
m_pErrorInfo指向一个CDaoErrorInfo对象的指针,该对象记录了一个DAO错误对象的信息

构造函数
CDaoException构造一个CDaoException对象

操作
GetErrorCount返回数据库引擎的Errors集合中的错误代码
GetErrorInfo返回Errors集合中某个错误的错误信息