首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

'_ConnectionPtr' : undeclared identifier,该怎么解决

2012-01-28 
_ConnectionPtr : undeclared identifier我在stdafx.h文件中#import C:\Program Files\Common Files\Sy

'_ConnectionPtr' : undeclared identifier
我在stdafx.h文件中#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","rsEOF")
然后在按钮的响应函数中添加代码如下:

void IDS::OnImport() 
{
// TODO: Add your control notification handler code here
CString sql;
CoInitialize(NULL);
  _ConnectionPtr m_pConnection;
_variant_t RecordsAffected;

try{
HRESULT hr=m_pConnection.CreateInstance("ADODB.Connection");
if(SUCCEEDED(hr))
{
m_pConnection->ConnectionTimeout=3;
m_pConnection->Open("Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=db1;Data Source=JEFFY-A73938B38","","",adModeUnknown);
AfxMessageBox("数据库连接成功!");
//return true;
}
}
catch(_com_error e)
{
CString temp;
temp.Format("数据库连接出错:%s",e.ErrorMessage());
AfxMessageBox(temp);
//return false;
}

  int num=m_list.GetItemCount();
for(int i=0;i<num;i++)
{
  CString time=m_list.GetItemText(i,0);
CString info=m_list.GetItemText(i,1);
CString proto=m_list.GetItemText(i,2);
CString sip=m_list.GetItemText(i,3);
CString sport=m_list.GetItemText(i,4);
CString dip=m_list.GetItemText(i,5);
CString dport=m_list.GetItemText(i,6);

sql = "Insert into data values('"+time+"','"+info+"','"+proto+"','"+sip+"','"+sport+"','"+dip+"','"+dport+"')";

try
{

m_pConnection->Execute((_bstr_t)sql,&RecordsAffected,adCmdText);

}
catch(_com_error e)
{
CString temp;
temp.Format("出错:%s",e.ErrorMessage());
AfxMessageBox(temp);
}
}
}
出现的错误是:
E:\存底\新建文件夹\snortTest\IDS.cpp(397) : error C2065: '_ConnectionPtr' : undeclared identifier
E:\存底\新建文件夹\snortTest\IDS.cpp(397) : error C2146: syntax error : missing ';' before identifier 'm_pConnection'
E:\存底\新建文件夹\snortTest\IDS.cpp(397) : error C2065: 'm_pConnection' : undeclared identifier
E:\存底\新建文件夹\snortTest\IDS.cpp(398) : error C2065: '_variant_t' : undeclared identifier
E:\存底\新建文件夹\snortTest\IDS.cpp(398) : error C2146: syntax error : missing ';' before identifier 'RecordsAffected'
E:\存底\新建文件夹\snortTest\IDS.cpp(398) : error C2065: 'RecordsAffected' : undeclared identifier
E:\存底\新建文件夹\snortTest\IDS.cpp(401) : error C2228: left of '.CreateInstance' must have class/struct/union type
E:\存底\新建文件夹\snortTest\IDS.cpp(404) : error C2227: left of '->ConnectionTimeout' must point to class/struct/union
E:\存底\新建文件夹\snortTest\IDS.cpp(405) : error C2227: left of '->Open' must point to class/struct/union
E:\存底\新建文件夹\snortTest\IDS.cpp(405) : error C2065: 'adModeUnknown' : undeclared identifier
E:\存底\新建文件夹\snortTest\IDS.cpp(410) : error C2061: syntax error : identifier '_com_error'
E:\存底\新建文件夹\snortTest\IDS.cpp(410) : error C2310: catch handlers must specify one type
E:\存底\新建文件夹\snortTest\IDS.cpp(413) : error C2065: 'e' : undeclared identifier
E:\存底\新建文件夹\snortTest\IDS.cpp(413) : error C2228: left of '.ErrorMessage' must have class/struct/union type
E:\存底\新建文件夹\snortTest\IDS.cpp(418) : error C2317: 'try' block starting on line '400' has no catch handlers
E:\存底\新建文件夹\snortTest\IDS.cpp(434) : error C2227: left of '->Execute' must point to class/struct/union
E:\存底\新建文件夹\snortTest\IDS.cpp(434) : error C2065: '_bstr_t' : undeclared identifier
E:\存底\新建文件夹\snortTest\IDS.cpp(434) : error C2146: syntax error : missing ')' before identifier 'sql'
E:\存底\新建文件夹\snortTest\IDS.cpp(434) : error C2059: syntax error : ')'
E:\存底\新建文件夹\snortTest\IDS.cpp(437) : error C2061: syntax error : identifier '_com_error'
E:\存底\新建文件夹\snortTest\IDS.cpp(437) : error C2310: catch handlers must specify one type


E:\存底\新建文件夹\snortTest\IDS.cpp(440) : error C2228: left of '.ErrorMessage' must have class/struct/union type
E:\存底\新建文件夹\snortTest\IDS.cpp(443) : error C2317: 'try' block starting on line '432' has no catch handlers
怎么解决啊?

[解决办法]
首先
rebuild all
[解决办法]
C:\Program Files\Common Files\System\ado\msado15.dll
//确定此文件在此目录下?

热点排行