操作_ConnectionPtr的Execute函数返回的_RecordsetPtr出现问题

飞檐走壁 飞檐走壁 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我用的是vc6.0访问sqlserver 2005


1 当我直接用_RecordsetPtr的open方法打开记录集后可以对记录集进行修改操作 代码如下:



_RecordsetPtr rs;
...
...
try()
{
rs->Open(sqlstring,
_variant_t((IDispatch*)pApp->m_pConnection),
ADODB::adOpenStatic,ADODB::adLockOptimistic,ADODB::adCmdText);
rs->Fields->Item["UserId"]->Value = (_variant_t)m_newedit;
rs->Update();
}
catch(_com_error &e)
{
_bstr_t bstrSource(e.Source());
_bstr_t bstrDescription(e.Description());
CString sError;
sError.Format( "Source : %s \n Description : %s\n",
(LPCSTR)bstrSource,(LPCSTR)bstrDescription);
AfxMessageBox(sError);
}


结果成功修改了数据

2 当我直接用_ConnectionPtr的Execute方法获得记录集后就不能对记录集进行修改操作 代码如下:


_ConnectionPtr rs_conn;
_RecordsetPtr rs;
...
...
try()
{
rs=rs_conn->Execute(_bstr_t(sqlstring),0,0);
rs->Fields->Item["UserId"]->Value = (_variant_t)m_newedit;
rs->Update();
}
catch(_com_error &e)
{
_bstr_t bstrSource(e.Source());
_bstr_t bstrDescription(e.Description());
CString sError;
sError.Format( "Source : %s \n Description : %s\n",
(LPCSTR)bstrSource,(LPCSTR)bstrDescription);
AfxMessageBox(sError);
}




结果出现错误:
当前记录集不支持更新。这可能是提供程序的限制 也可能是选定锁定类型的限制。Unknown error 0x800A0CB3
这是怎么回事,各位好心人请帮帮忙
...全文

相关推荐

评论 6
收藏 已收藏
分享
返回顶部
飞檐走壁
疑难问题 22,298 成员 121,727 内容