CoInitialize(NULL);
//初始化指针
_ConnectionPtr sqlsq=NULL;
HRESULT hr=sqlsq.CreateInstance(_uuidof(Connection));
if (FAILED(hr))
{
cout<<"_ConnectionPtr对象指针实例化失败!!"<<endl;
return 0;
}
else
{
try{
_bstr_t strConnection="Driver={sql server};server=127.0.0.1,1433;uid=sa;pwd=123456;database=test;";//初始化链接参数
sqlsq->Open(strConnection,"","",adModeUnknown);//执行连接
}
//发生连接错误
catch(_com_error &e)
{
cout<<e.Description()<<endl;
}
_RecordsetPtr m_pRecordset;
_ConnectionPtr m_pConnection;
if (FAILED(m_pRecordset.CreateInstance(_uuidof(Recordset))))
{
cout<<"记录集对象指针实例化失败!"<<endl;
return 0;
}
try{
m_pRecordset->Open(_variant_t("TEXT_Table"),_variant_t((IDispatch*)sqlsq),adOpenKeyset,adLockOptimistic,adCmdTable);
m_pConnection.CreateInstance(_uuidof(Connection));
//初始化Connertion指针
m_pRecordset.CreateInstance(_uuidof(Recordset));
//初始化Recordset指针
CString strsql="select * from TEXT_Table";
//在这里出的错
m_pRecordset=m_pConnection->Execute(_bstr_t(strsql),NULL,adCmdText);
while (!m_pRecordset->adoEOF)
{
CString temp=(TCHAR*)(_bstr_t)m_pRecordset->GetFields()->GetItem("name")->Value;
cout<<temp<<endl;
m_pRecordset->MoveNext();
}
}
catch(_com_error &e)
{
cout<<e.Description()<<endl;
}
}
C++连接SqlServer数据库执行sql语句时出现“对象关闭时,不允许操作。”的错误!
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答
- 穿女装的程序员 2017-08-04 10:10关注
sqlsq->Open(strConnection,"","",adModeUnknown);//执行连接
m_pRecordset->Open(_variant_t("TEXT_Table"),_variant_t((IDispatch*)sqlsq),adOpenKeyset,adLockOptimistic,adCmdTable);
这两行代码有一个没成功。给你一个更简单的读数据库方法:
http://blog.csdn.net/passfuhao/article/details/76545332解决 无用评论 打赏 举报
悬赏问题
- ¥30 这是哪个作者做的宝宝起名网站
- ¥60 版本过低apk如何修改可以兼容新的安卓系统
- ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
- ¥50 有数据,怎么建立模型求影响全要素生产率的因素
- ¥50 有数据,怎么用matlab求全要素生产率
- ¥15 TI的insta-spin例程
- ¥15 完成下列问题完成下列问题
- ¥15 C#算法问题, 不知道怎么处理这个数据的转换
- ¥15 YoloV5 第三方库的版本对照问题
- ¥15 请完成下列相关问题!