ado 调用存储过程不能得到记录集

jyxy_ljw 2003-10-17 03:20:28
用ado的open和execute方法调用存储过程,都不能得到记录集,但是这个存储过程确实已经执行了的,该存储过程其中有一条UPDATE语句,语法正确
如果将其屏弊掉,可以得到返回的记录集,
请问为什么,我如何才能在有UPDATE的情况下,正确调用
...全文
58 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
millian 2003-10-25
  • 打赏
  • 举报
回复
我曾经也遇到过类似问题,实际非常简单,检查一下存储过程中是否有非法字符存在。我那次就是在存储过程中为了排版方便,用了"tab"键,然后在查询分析器里检查存储过程工作正常,可是程序就是得不到记录集,看看你的存储过程是不是也有"tab"键。空格键是可以用的。
yuanl 2003-10-24
  • 打赏
  • 举报
回复
你必须移动记录指计(从头到尾),才能得到记录总数
SPliujun 2003-10-24
  • 打赏
  • 举报
回复
楼主是不是和我一样啊!
SPliujun 2003-10-24
  • 打赏
  • 举报
回复
_RecordsetPtr pTestRs;
_ConnectionPtr pCn;
_variant_t RecordsAffected;

::CoInitialize(NULL);
pCn.CreateInstance("ADODB.Connection");
pRs.CreateInstance("ADODB.Recordset");
pCn->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\技術支持\\Liujun-test\\NW-test\\MMESeachFile\\vb\\MME_FileSearch\\MMEFileSearch.mdb","","",adModeUnknown);

pRs = pCn->Execute("SELECT JpgMapInfo.mapcd FROM JpgMapInfo",&RecordsAffected,1);
pRs->GetMaxRecords();
pRs->GetRecordCount();
为什么我这返回不出记录总数!
crazyeagle 2003-10-24
  • 打赏
  • 举报
回复
关注!
llm06 2003-10-24
  • 打赏
  • 举报
回复
把你存储过程的语句贴出来看看?
smallsix 2003-10-23
  • 打赏
  • 举报
回复
Open()执行SQL的 select 语句 Execute()执行的是select以外的语句,你把你的存储过程分成2个存储过程,把select 和UPdate语句分开试试看
Ozzman 2003-10-23
  • 打赏
  • 举报
回复
ADO我直接对表操作,业务在COM中完成!我帮不了你!呵呵!
klbt 2003-10-17
  • 打赏
  • 举报
回复
学习,帮你顶。

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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