CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  数据库

老话重提:ADO调用存储过程

楼主ganry()2004-08-02 11:45:24 在 VC/MFC / 数据库 提问

事情是这样的,我用的数据库为SQL   SERVER2000   ,   在后台编写有sp_getinfo   存储过程,带有参数   @address   varchar(16);存储过程最后调用的语句是  
  select   id   ,   lfrom   ,   infor   from   #temp  
  也就是说存储过程会在最后返回n条数据,其中n不确定。  
   
  我的做法:  
  _ConnectionPtr   lp_connect;  
  _RecordsetPtr   lp_record;  
   
  lp_connect   和lp_record的创建都没有任何问题,且lp_connect也已经open.  
  然后我调用try  
  {  
   
  lp_record->Open(_variant_t("EXECUTE   sp_getinfo   @address   =   '202.2.245.193'"),   _variant_t((IDispatch   *)   lp_connect   ,true),  
  adOpenDynamic,adLockOptimistic,adCmdText);  
   
   
   
  }  
  catch(_com_error   &e)  
  {  
  lp_connect->Close();  
   
  ::CoUninitialize();  
  AfxMessageBox(e.ErrorMessage());  
  AfxMessageBox(e.Description());  
  return;  
  }  
  这里没有问题提示,但是在接下来的操作中有错误出现,我所做的操作是  
  lp_record->MoveNext(),我知道我这样做存在有问题,但是,那么该怎么做呢,当然我可以把存储过程生成的东西写入一个表中,然后再从表中读取,但那样就失去存储过程的意义了。另外我接触ADO没有多长时间,希望各位前行者不吝赐教!  
  谢谢!  
   
  问题点数:0、回复次数:3Top

1 楼ganry()回复于 2004-08-02 11:47:52 得分 0

另外command的方法我也试过了,但就是不行,出的错误是一样的,在lp_record->MoveNext()的时候就会发出同样的错误提示!大概是告诉我没有错误处理!Top

2 楼ganry()回复于 2004-08-02 11:49:54 得分 0

也看过有一位这么写lp_record->Open(_variant_t("begin   sp_getinfo('202.2.245.193');end;"),   _variant_t((IDispatch   *)   lp_connect   ,true),  
  adOpenDynamic,adLockOptimistic,adCmdText);  
  但这样执行时立马报错,说sp_getinfo附近有错误!  
  遗憾啊!Top

3 楼ganry()回复于 2004-08-02 16:38:30 得分 0

对   lp_record   做任何操作时都提示"对象关闭时,操作不被允许。"错误号:ox800A0E78.  
  这是什么问题?Top

相关问题

  • 关于动态报表的制作,老话重提!
  • asp调用com,com调用ado的问题
  • 怎样用OLE(CreateOleObject)调用ADO?
  • 用ADO调用存储过程
  • Ado调用Sql server7.0存储过程
  • 如何调用微软的ADO?
  • vc++(ADO)调用存储过程
  • ADO怎么调用存储过程啊?
  • ado调用存储过程,急,高分.
  • ADO调用存储过程的问题?

关键词

  • 存储过程
  • lp
  • 调用
  • getinfo
  • 错误
  • record
  • 操作
  • variant
  • 问题
  • sp

得分解答快速导航

  • 帖主:ganry

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo