.编译ADO类DLL时报错的解决方案

数据库Ado操作类:AdoOperation Class
//  
//   描述:
//     1)打开连接时,会尝试连接三次,每次5秒
//     2)Debug状态下运行时,每一个函数都有相应的信息输出
//     3)执行结果信息有相应输出:
//           CString m_strExecuteResult;   //执行结果
//           long m_lColumn;     //执行结果返回的列数
//           long m_lRow;      //执行结果返回的行数
//           vector<CString> m_vecColumnName;//执行结果返回的列名容器
//     4)适用数据库:MS SQL SERVER / ORACLE
//
//   Author:Bacel.Chen
//   CreateDate:2010-08-19
//
//   ModifyLog:
//
//
//
//
//
//==========================================================================================================

// AdoOperation.h : 头文件
//

#ifndef ADOOPERATION_H
#define ADOOPERATION_H


//#import "c:\program files\common files\system\ado\msado15.dll"no_namespace rename("EOF", "adoEOF")
////用上面一行时,会报如下错误:
//1>f:\bacelchen\bonsoninfo\exercise\adodll\adodll\debug\msado15.tlh(228) : error C2011: “LockTypeEnum”: “enum”类型重定义
//1>        d:\program files\microsoft visual studio 8\vc\platformsdk\include\dbdaoint.h(109) : 参见“LockTypeEnum”的声明
//1>f:\bacelchen\bonsoninfo\exercise\adodll\adodll\debug\msado15.tlh(276) : error C2011: “DataTypeEnum”: “enum”类型重定义
//1>        d:\program files\microsoft visual studio 8\vc\platformsdk\include\dbdaoint.h(138) : 参见“DataTypeEnum”的声明
//1>f:\bacelchen\bonsoninfo\exercise\adodll\adodll\debug\msado15.tlh(321) : error C2011: “FieldAttributeEnum”: “enum”类型重定义
//1>        d:\program files\microsoft visual studio 8\vc\platformsdk\include\dbdaoint.h(127) : 参见“FieldAttributeEnum”的声明
//1>f:\bacelchen\bonsoninfo\exercise\adodll\adodll\debug\msado15.tlh(343) : error C2011: “EditModeEnum”: “enum”类型重定义
//1>        d:\program files\microsoft visual studio 8\vc\platformsdk\include\dbdaoint.h(83) : 参见“EditModeEnum”的声明
//1>f:\bacelchen\bonsoninfo\exercise\adodll\adodll\debug\msado15.tlh(352) : error C2011: “RecordStatusEnum”: “enum”类型重定义
//1>        d:\program files\microsoft visual studio 8\vc\platformsdk\include\dbdaoint.h(341) : 参见“RecordStatusEnum”的声明
//1>f:\bacelchen\bonsoninfo\exercise\adodll\adodll\debug\msado15.tlh(616) : error C2011: “ParameterDirectionEnum”: “enum”类型重定义
//1>        d:\program files\microsoft visual studio 8\vc\platformsdk\include\dbdaoint.h(326) : 参见“ParameterDirectionEnum”的声明

////<解决方法>
//方法1:
#pragma warning(disable:4146)
#import "C:\Program Files\Common Files\System\ADO\msado15.dll" named_guids rename("EOF","adoEOF"), rename("BOF","adoBOF")
#pragma warning(default:4146)
using namespace ADODB;

原文地址:https://www.cnblogs.com/tianlangshu/p/1989521.html