在PB里面怎样得到这样的存储过程的结果,,

xtjack 2000-06-20 11:08:00
CREATE PROCEDURE mytest1 AS

select dm from bbmc

在PB里面执行应该怎样得到,我用fetch into也不行?
declare my procedure for mytest1 ;

execute my;
fetch my into :r;
...全文
472 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
hippo 2000-09-10
  • 打赏
  • 举报
回复
我用过类似的存储过程,也是用的SQL SERVER,但没有遇你说的问题,你可以这样,先做一个
datawindow,然后在程序中这样
declare my procedure for mytest1 ;
int i
execute my;
fetch my into :r;

do while sqlca.sqlcode=0
i=dw_1.insertrow(0)
dw_1.setitem(i,1,r)
fetch my into :r;
loop

我上次好象是这么做的
3166910 2000-09-07
  • 打赏
  • 举报
回复
我也想听听!:)
Iwant 2000-09-07
  • 打赏
  • 举报
回复
你的程序好象是没有问题的.问题可能出在返回值不是唯一.存储过程不象游标一样可以有多个返回值,你可以在库中建一个表,在存储过程中把返回的东东放到表中,再重表中取出来,不过如果你的表是 hot table 最好不要用游标来取.
sbks 2000-08-22
  • 打赏
  • 举报
回复
我记得有个方法是这样的:
继承一个SQLCA对象,把存取过程作为该对象的一个函数调用,然后再fetch。
大概思路是这样,详细资料不在身边,要是已经考虑过不可行,听下一位发言吧
sean_prg 2000-07-08
  • 打赏
  • 举报
回复
加过程参数限定查询结果的唯一性
或加计算函数,如:
select min(dm) from bbmc
guostong 2000-07-05
  • 打赏
  • 举报
回复
select dm from bbmc

你的SQL语句返回多条记录,结果无法返回,
FETCH 到变量中的返回值必须是唯一的
guostong 2000-07-05
  • 打赏
  • 举报
回复
你可以先在ISQL中运行你的PROCEDURE,确认无误后再检查程序
shshsh_0510 2000-07-04
  • 打赏
  • 举报
回复
别的不知道,oracle试过,没问题.每次fetch可以取到一个OUT 型的参数,不知你的存储过程的参数类型设对了没有.
Carrie 2000-06-22
  • 打赏
  • 举报
回复
如果fetch完之后r里没值,定义又没错的话,只能另想办法了.我的同事曾经碰到过sybase存储过程的输出参数得不到的情况,最后只能在程序里自己写.
Carrie 2000-06-21
  • 打赏
  • 举报
回复
那先把存储过程该对了再说.
xtjack 2000-06-21
  • 打赏
  • 举报
回复
我的也是这种情况!!!
xtjack 2000-06-21
  • 打赏
  • 举报
回复
存储过程是没得问题!!在query analyzer中执行这个存储过程是对的!!
xtjack 2000-06-20
  • 打赏
  • 举报
回复
我用的是sql server,谢谢
Carrie 2000-06-20
  • 打赏
  • 举报
回复
数据库用sybase应该是可以的,其它的没试过.
Carrie 2000-06-20
  • 打赏
  • 举报
回复
用fetch into应该可以.不过我在oracle上碰到过存储过程有错,pb什么反映都没有的情况.
xtjack 2000-06-20
  • 打赏
  • 举报
回复
现在地主要问题是我只有在程序里面使用!!!

sql="mytest"
execute immediate :sql;
是不能得到他的返回值得对吧??
netkid 2000-06-20
  • 打赏
  • 举报
回复
以存储过程做数据源创建一datawindow试试

1,075

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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