注意:
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幫助中的“可捕獲的數據存取錯誤”部分。
#include <afxdao.h>