Procedure has not been executed or has no results啥意思啊(东北话!)

goldfish 2002-06-23 05:38:17
我在pb中调用oracle的存储过程,但是一声明这个过程马上sqlca.sqlcode = 100
然后返回Procedure has not been executed or has no results这个错误,那位大虾
告诉我然后解决啊,是什么原因引起的啊,在线等待!!!!
...全文
1107 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinalht 2002-06-25
  • 打赏
  • 举报
回复
呵呵,解决了还不结帖?
goldfish 2002-06-25
  • 打赏
  • 举报
回复
问题解决了!!我这里首先谢谢几位朋友(包括up的朋友)
这里我总结一下我的经验也是我的教训!!!!(很惨痛,浪费了大量的时间)
我的环境是pb6.5.1 + oracle 8.1.5
在pb中调用oracle的存储过程时一定要严格按照语法的要求来进行
declare.........;
execute.........;
fetch.........;
close.........;
注意在这几个语句后面一定要有分号(特别是declare,pb不报错)
declare lprc_Monthlypay procedure for pkg_k_dyjs.prc_K_Monthbalance(:prm_fwjgcode,:ss_ny,:gs_username);
if SQLCA.SQLCODE < 0 then goto DBError

execute lprc_MonthlyPay;
if SQLCA.SQLCODE < 0 then goto DBError

fetch lprc_MonthlyPay into :li_AppCode,:is_ErrMsg;
if SQLCA.SQLCODE < 0 then goto DBError

close lprc_MonthlyPay;
if li_AppCode < 0 then goto Error
return true
DBError:
gf_db_operate () ---------1
close lprc_MonthlyPay; ---------2
RETURN FALSE
Error:
ROLLBACK USING SQLCA;
RETURN FALSE;

如果1,2顺序颠倒肯定会出现问题
其中函数是对sqlcode进行判断,如果颠倒后close正常执行就不能捕获 errortext,这是一个逻辑的错误!!!
goldfish 2002-06-24
  • 打赏
  • 举报
回复
up up up
lovezpl 2002-06-23
  • 打赏
  • 举报
回复
仔细检查你调用存储过程参数的顺序是否与存储过程中参数定义的顺序一致,类型是否一致(如果是数据窗口的数据源,重新生成一个数据窗口测试以下,调整了存储过程的参数后,数据窗口的作相应的调整)。
goldfish 2002-06-23
  • 打赏
  • 举报
回复
up up
goldfish 2002-06-23
  • 打赏
  • 举报
回复
后台执行没有问题啊!!!
zyunlin 2002-06-23
  • 打赏
  • 举报
回复
建议你在后台执行一下你的存储过程,看是否有结果然后再调用,前提是你的调用没有写错哟!
fibbery 2002-06-23
  • 打赏
  • 举报
回复
贴出你的代码,让高人给你看看!这么一句话谁知道是什么原因啊!呵呵……
goldfish 2002-06-23
  • 打赏
  • 举报
回复
不会大家都不会吧!
goldfish 2002-06-23
  • 打赏
  • 举报
回复
我知道啊,我想知道是什么原因造成的啊!!!
fibbery 2002-06-23
  • 打赏
  • 举报
回复
存储过程没有被执行,或没有结果

1,108

社区成员

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

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