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

飞檐走壁 2011-02-10 04:13:40
我用的是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
这是怎么回事,各位好心人请帮帮忙
...全文
413 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
飞檐走壁 2011-02-11
  • 打赏
  • 举报
回复
了解到了是不能直接修改的,ok就这样了结了吧。
飞檐走壁 2011-02-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 dawugui 的回复:]
引用 3 楼 baihengxiang 的回复:
如果不能修改,那么就不能用AppendChunk方法修改图片等大文件数据了。

C/C++ code

rs->Fields->Item["UserImage"]->AppendChunk(pvList);



通过设置某些参数也不行吗,比如Execute的参数或创建连接的时候

一般对图片数据是进行读入读出,这种修改的需求……
[/Quote]


能否多指点一下,谢谢了。
dawugui 2011-02-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 baihengxiang 的回复:]
如果不能修改,那么就不能用AppendChunk方法修改图片等大文件数据了。

C/C++ code

rs->Fields->Item["UserImage"]->AppendChunk(pvList);



通过设置某些参数也不行吗,比如Execute的参数或创建连接的时候
[/Quote]
一般对图片数据是进行读入读出,这种修改的需求还是第一次听说.
飞檐走壁 2011-02-10
  • 打赏
  • 举报
回复
如果不能修改,那么就不能用AppendChunk方法修改图片等大文件数据了。

rs->Fields->Item["UserImage"]->AppendChunk(pvList);


通过设置某些参数也不行吗,比如Execute的参数或创建连接的时候

AcHerat 2011-02-10
  • 打赏
  • 举报
回复

--EXECUTE相当于查询出来的结果集,并不是表,不能直接修改!
华夏小卒 2011-02-10
  • 打赏
  • 举报
回复
execute 类似select 结果集,这个没法直接修改
内容概要:本文档聚焦于通信系统中的调制解调技术与Turbo码的结合应用,系统研究了GMSK调制的二比特差分解调方法,以及Turbo码分别与BPSK、GMSK调制方式联合使用的系统性能。通过Matlab平台实现了完整的通信链路仿真,涵盖信号调制、信道编码、解调解码及误码率分析等关键环节,深入探讨了不同调制体制下Turbo编码系统的抗干扰能力与频谱效率表现。研究不仅提供了算法实现代码,还包含了详细的性能对比分析,有助于理解现代数字通信中高效编码调制技术的设计原理与工程实现。此外,文档附带多个相关科研方向的仿真案例,展现出广泛的技术延展性与实际应用价值。; 适合人群:具备通信原理、数字信号处理等相关基础知识,熟悉Matlab编程环境,正在从事无线通信系统仿真、信道编码理论研究或相关领域科研工作的研究生、高校教师及工程技术研究人员。; 使用场景及目标:①深入掌握GMSK调制与Turbo码相结合的技术机制,理解其在提高通信可靠性与频谱利用率方面的优势;②熟练运用Matlab构建完整的数字通信仿真系统,完成从调制编码到解调译码的全流程建模与性能评估;③为无人机通信、卫星通信、移动通信等实际应用场景下的高可靠传输系统设计提供理论支持与算法参考。; 阅读建议:建议结合所提供的Matlab代码逐模块运行与调试,重点关注GMSK差分解调过程与Turbo译码的迭代收敛特性,同时可参考文档中列出的其他研究课题拓展仿真范围,提升综合科研与工程实践能力。

22,296

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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