用Visual Studio 2012 连接localdb 报错,多步OLEDB操作产生错误。如果可能,请检查每个OLEDB状态值,没有工作被完成。
CoInitialize(NULL);
_ConnectionPtr m_pConnection;
_CommandPtr m_pCommand;
_RecordPtr m_pRecord;
_ParameterPtr m_pParameter;
HRESULT hr=m_pConnection.CreateInstance(__uuidof(Connection));
if(FAILED(hr))
{
cout<<"_ConnectionPtr对象指针实例化失败!!!"<<endl;
return false;
}
try{
CString strConnect=_T("Data Source=(LocalDB)\\v11.0;Initial Catalog=TestPeople;AttachDbFilename=C:\\Users\\A2040271\\TestPeople.mdf;Integrated Security=True;");
m_pConnection->Open((_bstr_t)strConnect,(_bstr_t)"",(_bstr_t)"",(long)adModeUnknown);
}
catch(_com_error &e){
cout<<e.Description()<<endl;
}
你先查看具体在哪一步出错了,检查一下错误返回值信息
是在这一步报的错,_m_pConnection->Open((_bstr_t)strConnect,(_bstr_t)"",(_bstr_t)"",(long)adModeUnknown);
catch抓出来的错误信息是:多步OLEDB操作产生错误。如果可能,请检查每个OLEDB状态值,没有工作被完成。代码很简单,应该还是连接字串的问题。但找了很多资料,也不能确定是哪里的问题,会不会跟我的电脑上同时装了vs2008和vs2012有关。