这是一个用VC写的DLL在连接ACCESS数据库时用到了ADO,编译时出现了以下的错误;d:\databasetrans\dbtransdll\debug\msado15.tlh(169) : error C2011: 'LockTypeEnum' : 'enum' type redefinition
d:\databasetrans\dbtransdll\debug\msado15.tlh(210) : error C2011: 'DataTypeEnum' : 'enum' type redefinition
d:\databasetrans\dbtransdll\debug\msado15.tlh(254) : error C2011: 'FieldAttributeEnum' : 'enum' type redefinition
d:\databasetrans\dbtransdll\debug\msado15.tlh(275) : error C2011: 'EditModeEnum' : 'enum' type redefinition
d:\databasetrans\dbtransdll\debug\msado15.tlh(283) : error C2011: 'RecordStatusEnum' : 'enum' type redefinition
d:\databasetrans\dbtransdll\debug\msado15.tlh(403) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
d:\databasetrans\dbtransdll\debug\msado15.tlh(523) : error C2011: 'ParameterDirectionEnum' : 'enum' type redefinition到底该如何处理,请高手指点~
#import "C:\\Program Files\\Common Files\\System\\ADO\\msado15.dll" no_namespace rename("EOF", "EndOfFile")
d:\databasetrans\dbtransdll\debug\msado15.tlh(210) : error C2011: 'DataTypeEnum' : 'enum' type redefinition
d:\databasetrans\dbtransdll\debug\msado15.tlh(254) : error C2011: 'FieldAttributeEnum' : 'enum' type redefinition
d:\databasetrans\dbtransdll\debug\msado15.tlh(275) : error C2011: 'EditModeEnum' : 'enum' type redefinition
d:\databasetrans\dbtransdll\debug\msado15.tlh(283) : error C2011: 'RecordStatusEnum' : 'enum' type redefinition
d:\databasetrans\dbtransdll\debug\msado15.tlh(403) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
d:\databasetrans\dbtransdll\debug\msado15.tlh(523) : error C2011: 'ParameterDirectionEnum' : 'enum' type redefinition到底该如何处理,请高手指点~
#import "C:\\Program Files\\Common Files\\System\\ADO\\msado15.dll" no_namespace rename("EOF", "EndOfFile")
把所有的
#import "C:\\Program Files\\Common Files\\System\\ADO\\msado15.dll" no_namespace rename("EOF", "EndOfFile")
改为
#ifndef _GGGGGGGG
#define _GGGGGGGG
#import "C:\\Program Files\\Common Files\\System\\ADO\\msado15.dll" no_namespace rename("EOF", "EndOfFile")
#endif
该为
#import "C:\\Program Files\\Common Files\\System\\ADO\\msado15.dll" rename_namespace("ADOCG") rename("EOF", "EndOfFile")
using namespace ADOCG
using namespace ADOCG
为什么这个写法编译时总是出错呀?说不认识rename
这样吧
你新建一个工程,从控件廊插入Ado Data Binding,然后拷贝其导入的语句试一试
中引入
都没有问题
你初始化没有?
使用前要初始化的 AfxOleInit();
#end
加上应该可以了
以前我导入ADO都没有出现类似的错误~~~
#import "C:\Program Files\Common Files\System\ADO\msado15.dll" rename_namespace("ADOCG") rename("EOF", "EndOfFile")
using namespace ADOCG;
#pragma warning (default: 4146)
用这个试一下,
还有,你有没有加afxdao.h,不要加它
//#include <afxdao.h> // MFC DAO database classes
改成
#import "C:\Program Files\Common Files\System\ADO\msado15.dll"
试试!!
我直接在一行里面写的,没有问题,但是改了行就出现了问题,推荐你冲一个成功的例子中拷贝~