ado.h,ado.cpp等是一個ado封裝類 ,較容易使用,流傳很廣
但是在工程應用或封裝爲動態庫時經常會出現:
:error C2872: 'DataTypeEnum' : ambiguous symbol
: error C2872: 'ParameterDirectionEnum' : ambiguous symbol
等類似錯誤,網上給出的一些解決方法都是治標不治本,比如使用namespace ,
rename("DataTypeEnum","adoDataTypeEnum"),在DataTypeEnum前使用ADODB::域引用等.
error C2872錯誤,究其根本是該類型同名出現多個數據庫類下,所以我們只要把不需要的數據庫支持類去掉即可,經過察看stdafx.h頭文件,發現在裏面默認啓動了MFC DAO數據庫類支持,而該類裏面同時定義了與ADO類相同的枚舉類型等定義,
因此註釋掉stdafx.h裏面的dao包含文件即可:
//#ifndef _AFX_NO_DAO_SUPPORT
//#include <afxdao.h> // MFC DAO database classes
//#endif // _AFX_NO_DAO_SUPPORT