hur.cn - 华软网

 热门搜索

存储过程如果有多个返回值,该如何接收

  作者:未知    来源:网络    更新时间:2018/8/6
用FETCH INTO 只能接收到最后一个返回值,请教大家该如何做呢?
------华软网友回答------
fetch c1 into :str;

do while sqlca.sqlcode=0

       ddlb_1.additem(str)

       fetch c1 into :str;

loop

------华软网友回复------
  class="deleted_message"> 该回复于2013-08-14 08:45:16被管理员删除
------华软网友回复------
楼上的老是这么一句
------华软网友回复------
数据窗口来接收,不管有多少个都可以了,就是以存储过程来做数据源建一个数据窗口
------华软网友回复------
楼主的意思不太明确.
如果是指有多行返回,我想这不成问题吧?凡学过PB的都会了,两个办法, 一是用游标FETCH,一是用DW.
如果是指有多个结果集的话,你留意一下,我们在用存储过程做数据窗口时,有个result set这个选项,通常默认都是1,表示接收的是返回的第一个结果集. 如果要第2个,改为2即可
------华软网友回复------
PB帮助里有,就是利用循环FETCH即可
------华软网友回复------
还有可以用存储对象,操作与数据窗口一样.
------华软网友回复------
气球男正解,帮助里再清楚也没有了。
------华软网友回复------
對呀﹐用循環fetch
------华软网友回复------
是的,游标就是用来接收从数据库里返回符合条件的多条数据的一种技术。
------华软网友回复------
楼主要调用的是存储过程,和fetch 有什么关系阿?不懂就不要说了。
datawindow,好像是只能接收一个result ,如果有多个resultz则返回最后一个 
变通一下。把多个result union 然后 用select 返回就ok了 

------华软网友回复------


DW 的 Datasource 是可以直接选择 Stored Prodecure 的。
------华软网友回复------

楼上所言 只有tmxkdldw(tmxkdldw)兄沾边了



实际上这是楼主的不对 存储过程固然要返回多个结果 但是你应该把结果作为一条记录返回

如 select @result1 as 结果A,@result2 AS 结果B  就可以了

SQL SERVER的存储过程有N多返回方式  我个人的经验 return、Out 都不如select灵活

恕我不再多说了 如果您不甚明白 请参考《SQL Server联机丛书》

祝楼主好运


qfkx.com
------华软网友回复------
首先datawindow 只能接收select 出来的值
要想用datawindow接收, 就要用select 语句把结果选出来
存储过程中的return 后的值, 只能在别的存储过程调用它是, 作为返回值用!      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。