起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 147|回复: 7

【结贴】如何对存储过程返回结果集进行取值放到一个自定义DataSet

[复制链接]
发表于 2009-1-5 16:56:46 | 显示全部楼层 |阅读模式
我调用一个存储过程,返回3个数据,其中有一个是结果集RSRESULT,如果取出RSRESULT中的数据,并放到一个DataSet中???

存储过程定义如下:
PROCEDURE RPT_TEST(BEGINSJ   IN  varchar2,
                         ENDSJ     IN  varchar2,
                         DW        IN  varchar2,
                         RETCODE   OUT NUMBER,
                         RETMSG    OUT VARCHAR2,
                         RSRESULT  OUT RPT.XXCURSOR)
回复

使用道具 举报

发表于 2009-1-5 17:03:45 | 显示全部楼层
楼主,平台中调用这样的存储过程是不能返回参数的。建议把他拆成两个或者参数也顶一道你返回的数据集中去。

对于存储过程返回的数据集放到一个dataset中就用循环赋值就可以了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-1-6 09:04:08 | 显示全部楼层
你的意思是只能这么来做吗??
PROCEDURE RPT_TEST(BEGINSJ   IN  varchar2,
                         ENDSJ     IN  varchar2,
                         DW        IN  varchar2,
                         RSRESULT  OUT RPT.XXCURSOR)

如果这么做,那RSRESULT 是用那个方法来取里面的结果的?
回复 支持 反对

使用道具 举报

发表于 2009-1-6 09:07:37 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-1-6 09:32:07 | 显示全部楼层
帖子我看了,那里只有对返回结果是
prm11   OUT  VARCHAR2,
prm12     OUT  DATE,
prm13      OUT NUMBER
这些的取值方法
Memo1.Lines.Add(Params.ParamByName('prm11').AsString);
Memo1.Lines.Add(Params.ParamByName('prm12').AsString);
Memo1.Lines.Add(Params.ParamByName('prm13').AsString);

我现在只返回一个RSRESULT  OUT RPT.XXCURSOR,数据库中的游标。
如何对这个结果集中取值??
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-1-6 09:33:49 | 显示全部楼层
我这里是做一个报表的统计,返回的结果字段有40多个,如果一个一个OUT出来那不是要晕死。。
回复 支持 反对

使用道具 举报

发表于 2009-1-6 09:41:00 | 显示全部楼层
链接里面有,用控件存储过程数据集
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-1-6 09:54:45 | 显示全部楼层
结帖吧。。了解了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-29 03:28 , Processed in 0.046367 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表