C++ ADO数据库
来源:互联网 发布:罗马2伙伴步兵数据 编辑:程序博客网 时间:2024/06/15 21:40
#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename ("EOF", "adoEOF"), rename("BOF","adoBOF")
问题: 编译后,出现以下错误:
msado15.tlh(169) : error C2011: 'LockTypeEnum' : 'enum' type redefinition
msado15.tlh(212) : error C2011: 'DataTypeEnum' : 'enum' type redefinition
msado15.tlh(256) : error C2011: 'FieldAttributeEnum' : 'enum' type redefinition
msado15.tlh(277) : error C2011: 'EditModeEnum' : 'enum' type redefinition
msado15.tlh(285) : error C2011: 'RecordStatusEnum' : 'enum' type redefinition
msado15.tlh(405) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
msado15.tlh(527) : error C2011: 'ParameterDirectionEnum' : 'enum' type redefinition …
原因:
是因为我们建立MFC DLL 工程时,VC在stdafx.h中包含了如下两个操作数据库的类的头文件
include <afxdb.h> // MFC database classes
include <afxdao.h> // MFC DAO database
与ADO库中的类型定义冲突。
解决方法:
1、若没有用到上述两个头文件中的类,则去掉stdafx.h中下面所示的两行代码。
#include <afxdb.h> // MFC database classes
#include <afxdao.h> // MFC DAO database
2、导入库时不去掉命名空间,即不加no_namespace 。导入语句改为
#import "C:\Program Files\Common Files\System\ADO\msado15.dll" rename("EOF","adoEOF"), rename("BOF","adoBOF")
using namespace ADODB; //在用到ADO类的头文件中添加此语句
3、用rename修改所有重定义的类型名称.
rename("LockTypeEnum","adoLockTypeEnum")
rename("DataTypeEnum","adoDataTypeEnum")
- C++ADO读取数据库
- (C#)ADO.Net数据库对象
- c#-ADO.NET链接数据库
- C#(7):ADO.NET进行数据库编程
- ADO.NET(c#.net)数据库开发总结
- 数据库-ADO
- ado 数据库
- ADO 数据库
- ado数据库
- 【数据库】ADO
- ADO数据库
- 使用ADO连接ACCESS和SQL SERVER数据库[C++]
- ADO数据库编程详解(C++)----初级入门篇
- C++ODBC和ADO方式连接SQL数据库
- ADO数据库编程详解(C++)----初级入门篇
- [C#] 自己封装的一个数据库访问类 让ado.net 用起来和ado一样
- [C#] 自己封装的一个数据库访问类 让ado.net 用起来和ado一样
- [C#] 自己封装的一个数据库访问类 让ado.net 用起来和ado一样
- Think in another way【Matrix67】
- (转)浅谈ARM五大误区及ARM选型详解
- JFreeChart介绍及环境搭建
- oracle PL/SQL简介
- 可变参 理解
- C++ ADO数据库
- winform的app.config
- 深入理解C++中的mutable关键字
- oracle游标
- Liferay:JSR Portlet Security(权限)
- SQL replace
- Java Web中Timer的使用方法
- linux文件结构
- memset