这个问题很怪 msado15.tlh(797)error

suonikemelody 2011-01-11 11:20:35
// ADOConn1.h: interface for the CADOConn class.
//
//////////////////////////////////////////////////////////////////////
#import "c:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF") rename("BOF","adoBOF")
#if !defined(AFX_ADOCONN1_H__77893608_26E9_4E99_B6A4_5AE8E49D7054__INCLUDED_)
#define AFX_ADOCONN1_H__77893608_26E9_4E99_B6A4_5AE8E49D7054__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "StdAfx.h"
class CADOConn
{
public:
_ConnectionPtr m_pConnection;
//添加一个指向Recordset对象的指针:
_RecordsetPtr m_pRecordset;
public:
CADOConn();
virtual ~CADOConn();
void OnInitADOConn();
// 执行查询
_RecordsetPtr& GetRecordSet(_bstr_t bstrSQL);
// 执行SQL语句,Insert Update _variant_t
BOOL ExecuteSQL(_bstr_t bstrSQL);
void ExitConnect();

};

#endif // !defined(AFX_ADOCONN1_H__77893608_26E9_4E99_B6A4_5AE8E49D7054__INCLUDED_)



--------------------Configuration: mul - Win32 Debug--------------------
Compiling...
ADOConn1.cpp
e:\projects\复件 mul(5.6)\debug\msado15.tlh(407) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
e:\projects\复件 mul(5.6)\debug\msado15.tlh(797) : error C2143: syntax error : missing ')' before 'constant'
e:\projects\复件 mul(5.6)\debug\msado15.tlh(797) : error C2143: syntax error : missing ';' before 'constant'
e:\projects\复件 mul(5.6)\debug\msado15.tlh(797) : error C2059: syntax error : 'constant'
e:\projects\复件 mul(5.6)\debug\msado15.tlh(797) : error C2059: syntax error : ')'
e:\projects\复件 mul(5.6)\debug\msado15.tlh(797) : error C2238: unexpected token(s) preceding ';'
Error executing cl.exe.

mul.exe - 5 error(s), 1 warning(s)


/////////////////////////////////////////////////////////////////////////
当类里不定义任何函数和变量时,(构造和析构除外)时,去掉#import "c:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF") rename("BOF","adoBOF")是没有错误的,加上这句话会出现以上同样的错误,请高手回答,我是初学菜鸟啊
...全文
597 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
suonikemelody 2011-01-12
  • 打赏
  • 举报
回复
哪个高手帮帮忙,真是快把我急死了,先谢过大家
suonikemelody 2011-01-12
  • 打赏
  • 举报
回复
错误出现在msado15.tlh里,里面的东西我都看不懂
luciferisnotsatan 2011-01-12
  • 打赏
  • 举报
回复
报错的地方没在lz贴出的代码里

e:\projects\复件 mul(5.6)\debug\msado15.tlh(797) : error C2143: syntax error : missing ')' before 'constant'

代码里找不到这个 constant
suonikemelody 2011-01-12
  • 打赏
  • 举报
回复
问题解决了,原来是那个Virtual HRESULT _stdcall get_Count(
long * c)=0中的c,我在程序工程文件的另一个类里宏定义了,是重名冲突的缘故,谢谢各位前辈参与解决问题,9楼的你可可以看看是不是相同的问题
suonikemelody 2011-01-12
  • 打赏
  • 举报
回复
那几个错误都指向
Virtual HRESULT _stdcall get_Count(
long * c)=0中红色的代码部分,是在msado15.tlh里
suonikemelody 2011-01-12
  • 打赏
  • 举报
回复
这个问题真是搞的我快崩溃了,大侠们救命啊
lxz20110110 2011-01-12
  • 打赏
  • 举报
回复

#include "stdafx.h"

#import "C:\Program Files\Common Files\System\ado\msado15.dll " \
no_namespace rename( "EOF ","EndOfFile ")

int _tmain(int argc, _TCHAR* argv[])
{
::CoInitialize(NULL);
return 0;
}


在代码中加入这个,也出现问题了。希望你能指点我一下。

错误 1 error C2059: syntax error : '-' c:\users\adam\documents\visual studio 2005\projects\sqlserverdatabase\sqlserverdatabase\debug\msado15.tlh 2373
错误 2 error C2238: unexpected token(s) preceding ';' c:\users\adam\documents\visual studio 2005\projects\sqlserverdatabase\sqlserverdatabase\debug\msado15.tlh 2373
suonikemelody 2011-01-12
  • 打赏
  • 举报
回复
回5楼,已经初始化过了
suonikemelody 2011-01-12
  • 打赏
  • 举报
回复
4楼前辈,加了前面那一句后错误变成10个,都在msado15.tlh里
欣客 2011-01-12
  • 打赏
  • 举报
回复
msado15 用到了msadox.dll。这两个dll结合使用。
wonder2008 2011-01-12
  • 打赏
  • 举报
回复
在CXXXApp::InitInstance()中添加:

AfxOleInit(); ////ADO数据源初始化
欣客 2011-01-12
  • 打赏
  • 举报
回复
#import "C:\Program Files\Common Files\system\ado\msadox.dll"
#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")

两个一起加入就ok了

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧