读书人

一个很多人都遇到过的异常,请求解答

发布时间: 2012-09-18 16:21:42 作者: rapoo

一个很多人都遇到过的错误,请求解答.
--------------------Configuration: sys - Win32 Release--------------------
Compiling...
StdAfx.cpp
C:\Art\PCI2362\SAMPLES\VC\Advanced\DIOView.h(24) : error C2146: syntax error : missing ';' before identifier 'm_pConnection'
C:\Art\PCI2362\SAMPLES\VC\Advanced\DIOView.h(24) : error C2501: '_ConnectionPtr' : missing storage-class or type specifiers
C:\Art\PCI2362\SAMPLES\VC\Advanced\DIOView.h(24) : error C2501: 'm_pConnection' : missing storage-class or type specifiers
C:\Art\PCI2362\SAMPLES\VC\Advanced\DIOView.h(25) : error C2146: syntax error : missing ';' before identifier 'm_pRecordset'
C:\Art\PCI2362\SAMPLES\VC\Advanced\DIOView.h(25) : error C2501: '_RecordsetPtr' : missing storage-class or type specifiers
C:\Art\PCI2362\SAMPLES\VC\Advanced\DIOView.h(25) : error C2501: 'm_pRecordset' : missing storage-class or type specifiers
相信有一部分人都遇到过这个错误,我也一样,在网上找了好多人写的贴子,都没有找到一个能解决的答案,所以上来问问各位高手有没有一个合适的解决方法.
谢谢.............................

[解决办法]
用#import语句来引用支持ADO的组件类型库(*.tlb):在Stdafx.h文件中加入下面语句:
//stdafx.h
#import "c:\program files\common files\system\ado\msado15.dll"no_namespace rename ("EOF", "adoEOF")

初始化,连接数据库
//CXxxApp.cpp CXxxApp::InitInstance
AfxOleInit();
[解决办法]
在stdafx.h 加上#import "c:\program files\common files\system\ado\msado15.dll"no_namespace rename ("EOF", "adoEOF")
另外rebuild all
[解决办法]
Configuration: sys - Win32 Release??
驱动??
[解决办法]
看看是否是重复声明了变量或者引用了未声明的类型。
[解决办法]
C:\Art\PCI2362\SAMPLES\VC\Advanced\DIOView.h(24) : error C2146: syntax error : missing ';' before identifier 'm_pConnection'
虽然说是编译的时候说缺少分号
但实际很多时候都不是
你的头文件肯定有问题
_ConnectionPtr 是什么类型啊
如果是你自己定义的类
应该包含他的头文件嘛
[解决办法]
AfxOleInit(); 你这个东西应该放到APP的INITINSTANCE里面去,ADO数据库,我都用了许多遍了也没有出问题
[解决办法]
检查头文件,应该是其中的一个头文件里头文件里引用未声明的变量,例如,未声明全局
[解决办法]
不可以实现得原因?

探讨
1楼,2楼,谢谢你们的回答,但是都不可以实现
3楼,我用的是Win32 Release,而不是DEBUG.有什么不对吗???请指出,谢谢.

[解决办法]
头文件的问题,请仔细查看头文件的包含问题!
[解决办法]
顶顶..
[解决办法]
应该是在你使用ADO时候 一些初始化操作没有吧! 包含头文件和初始化 2楼的回答

读书人网 >VC/MFC

热点推荐