error C2146: syntax error : missing ';' before identifier 'm_pCon'

Clendy2016 2015-01-24 09:23:59
本人刚学C++,最近尝试照着《Visual C++从入门到精通》书中第20章编写图书管理系统,但在编写登录对话框时出现错误,编译器是VC6.0,貌似需要访问SQL数据库,本人新手,请大神指教,多谢!
错误截图:


/***************************** 代码****************************************/
// BookManage.cpp : Defines the class behaviors for the application.
//

#include "stdafx.h"
#include "BookManage.h"
#include "BookManageDlg.h"
#include "DlgLogin.h"
#include "StatUp.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CBookManageApp

BEGIN_MESSAGE_MAP(CBookManageApp, CWinApp)
//{{AFX_MSG_MAP(CBookManageApp)
// NOTE - the ClassWizard will add and remove mapping macros here.
// DO NOT EDIT what you see in these blocks of generated code!
//}}AFX_MSG
ON_COMMAND(ID_HELP, CWinApp::OnHelp)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CBookManageApp construction

CBookManageApp::CBookManageApp()
{
// TODO: add construction code here,
// Place all significant initialization in InitInstance
}

/////////////////////////////////////////////////////////////////////////////
// The one and only CBookManageApp object

CBookManageApp theApp;

_ConnectionPtr m_pCon; //ADO连接对象
_RecordsetPtr m_pRs;
_RecordsetPtr m_pRs1;
_CommandPtr m_pCom;

BOOL Flag = FALSE; //登录标识
CString user,password;//记录当前用户


/////////////////////////////////////////////////////////////////////////////
// CBookManageApp initialization

BOOL CBookManageApp::InitInstance()
{
AfxEnableControlContainer();

// Standard initialization
// If you are not using these features and wish to reduce the size
// of your final executable, you should remove from the following
// the specific initialization routines you do not need.

#ifdef _AFXDLL
Enable3dControls(); // Call this when using MFC in a shared DLL
#else
Enable3dControlsStatic(); // Call this when linking to MFC statically
#endif

CBookManageDlg dlg;
m_pMainWnd = &dlg;
int nResponse = dlg.DoModal();
if (nResponse == IDOK)
{
// TODO: Place code here to handle when the dialog is
// dismissed with OK
}
else if (nResponse == IDCANCEL)
{
// TODO: Place code here to handle when the dialog is
// dismissed with Cancel
}

// Since the dialog has been closed, return FALSE so that we exit the
// application, rather than start the application's message pump.
return FALSE;
}

void CBookManageApp::IniAdo()
{
try
{
CString strAdoConn;
strAdoConn.Format("driver={SQL Server};SERVER=.;UID=sa;DATABASE=BookManage");
m_pCon.CreateInstance(_uuidof(Connection));
m_pCon->ConnectionString = (_bstr_t)strAdoConn;
m_pCon->Open("","","",NULL);
m_pCom.CreateInstance("ADODB.Command");
m_pRs.CreateInstance(_uuidof(Recordset));
m_pRs1.CreateInstance(_uuidof(Recordset));
}
catch(_com_error)
{
Flag = FALSE;
MessageBox(0,"请检查系统配置信息", "数据库连接失败",MB_OK);
return;
}
catch(...)
{
AfxMessageBox("SYS Error");
return ;
}
}



/*********************************错误提示************************************/
--------------------Configuration: BookManage - Win32 Debug--------------------
Compiling...
BookManage.cpp
D:\Visual C++\BookManage\BookManage.cpp(41) : error C2146: syntax error : missing ';' before identifier 'm_pCon'
D:\Visual C++\BookManage\BookManage.cpp(41) : error C2501: '_ConnectionPtr' : missing storage-class or type specifiers
D:\Visual C++\BookManage\BookManage.cpp(41) : fatal error C1004: unexpected end of file found
BookManageDlg.cpp
D:\Visual C++\BookManage\BookManageDlg.cpp(16) : error C2146: syntax error : missing ';' before identifier 'm_pCon'
D:\Visual C++\BookManage\BookManageDlg.cpp(16) : fatal error C1004: unexpected end of file found
DlgLogin.cpp
D:\Visual C++\BookManage\DlgLogin.cpp(16) : error C2146: syntax error : missing ';' before identifier 'm_pCon'
D:\Visual C++\BookManage\DlgLogin.cpp(16) : fatal error C1004: unexpected end of file found
Generating Code...
执行 cl.exe 时出错.
...全文
3227 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Clendy2016 2015-01-25
  • 打赏
  • 举报
回复
多谢2楼和3楼的指点! 解决办法: 要将#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename ("EOF", "adoEOF") 加到stdafx.h文件中
FightForProgrammer 2015-01-25
  • 打赏
  • 举报
回复
数据库操作的头文件加进来了么
FancyMouse 2015-01-25
  • 打赏
  • 举报
回复
_ConnectionPtr定义呢

64,642

社区成员

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

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