调用Oracle 8.17的存储过程,如何处理Cursor类型的返回参数!

wt_sanlian 2004-10-11 01:10:11
用户要求两系统连网,对方软件人员给了一个存储过程接口,有两个参数,其中一个为输入参数,另一个为输出参数,输出参数为Cursor类型。
用ADO的存储过程组件时,设置输出参数时,无法设置成ftCursor类型。该如何处理啊?
高手们帮帮忙,谢谢!
...全文
206 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
chifengwatch 2004-10-14
  • 打赏
  • 举报
回复
升级你的ado
wt_sanlian 2004-10-14
  • 打赏
  • 举报
回复
5.0
COKING 2004-10-13
  • 打赏
  • 举报
回复
BCB版本?
3996906 2004-10-12
  • 打赏
  • 举报
回复
我会用sql2000的,Oracle没用过,应该和数据库类型不大吧~~~~~~~现在ado这么牛
wt_sanlian 2004-10-11
  • 打赏
  • 举报
回复
我是用一个DBGRId通过DataSource连接到存储过程组件的,当把第二个Cursor型的参数不指定,然后将存储过程的Active设为 True,在DBGrid即可显示出结果!但当把Active设为false时,即出现上面的异常!
3996906 2004-10-11
  • 打赏
  • 举报
回复
寒~~~~~~~~输出参数不能当然不能指定啦~~~~~~~
你可以这样来得到输出吧
TCursor cursor = ADOStoreProc->Parameters->ParamByName("@out_Cursor")->Value;
再把你声明的ADOStoreProc delete掉
wt_sanlian 2004-10-11
  • 打赏
  • 举报
回复
用ADO连接时,存储过程的第二个参数不指定,即可正常执行,但又遇到一个问题

当我执行完一次后,存储过程组件处在Active = true状态,但我用存储过程组件的Close()方法时,
出现"BOF或EOF中有一个是"真",或者当前的记录已被删除,所需操作要求一个当前的记录" 异常
如何解决这个问题,
高手们帮帮忙啊!
3996906 2004-10-11
  • 打赏
  • 举报
回复
寒~~~~~~~~~~是那一个啊?bcb里没见啊?帮助里说支持这个类型的哦
wt_sanlian 2004-10-11
  • 打赏
  • 举报
回复
在对象查看器中设置成ftCursor时,会出现"参数不在处理范围之内"
3996906 2004-10-11
  • 打赏
  • 举报
回复
这样不行吗?
ADOStoreProc->Parameters->CreateParameter("@out_Cursor",ftCursor,pdOutput,4,0);

为什么不能设置成ftCursor?有说什么原因吗?
hailin10 2004-10-11
  • 打赏
  • 举报
回复
学习

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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