使用ado来连接数据库,结果出现这样一些编译错误:
1>f:\c++pro\iocptser\debug\msado15.tlh(228) : error C2011: “LockTypeEnum”: “enum”类型重定义
1> c:\program files\microsoftsdks\windows\v6.0a\include\dbdaoint.h(109): 参见“LockTypeEnum”的声明
1>f:\c++pro\iocptser\debug\msado15.tlh(276) : error C2011: “DataTypeEnum”: “enum”类型重定义
1> c:\programfiles\microsoft sdks\windows\v6.0a\include\dbdaoint.h(138): 参见“DataTypeEnum”的声明
1>f:\c++pro\iocptser\debug\msado15.tlh(321) : error C2011: “FieldAttributeEnum”:“enum”类型重定义
1> c:\programfiles\microsoft sdks\windows\v6.0a\include\dbdaoint.h(127): 参见“FieldAttributeEnum”的声明
1>f:\c++pro\iocptser\debug\msado15.tlh(343) : error C2011: “EditModeEnum”: “enum”类型重定义
1> c:\programfiles\microsoft sdks\windows\v6.0a\include\dbdaoint.h(83): 参见“EditModeEnum”的声明
1>f:\c++pro\iocptser\debug\msado15.tlh(352) : error C2011: “RecordStatusEnum”: “enum”类型重定义
看样子它是跟WindowsSDK的某些头文件定义的类型冲突了,从dbdaoint.h我大致猜出它是跟dao库冲突了。我想既然我不用dao连接数据,就把它头文件注释掉好了,于是把stdafx.h下面的dao头文件相关代码注释掉:
#ifndef _AFX_NO_DAO_SUPPORT
#include <afxdao.h> // MFC DAO 数据库类
#endif // _AFX_NO_DAO_SUPPORT
注解掉#include <afxdao.h>
重新编译就没有这些编译错误了。
另一种没有出现这些错误的方法:VC ADO连接SqlServer 程序
http://download.youkuaiyun.com/detail/lu__xu/1488805
本文介绍了一种在使用ADO连接数据库时遇到的编译错误及其解决办法。通过注释掉与DAO相关的头文件,可以避免类型重定义的问题。
8978

被折叠的 条评论
为什么被折叠?



