如何解决 cursor is not open

homemoon 2002-03-18 08:43:08
请大虾赐教,我的脚本时这样书写的。我的pb是6.0版本,是不是缺少了什么dll
double bb=0,cc=0,dd=0,ee=0
double sbb=0,scc=0,sdd=0,see=0
declare ccc cursor for select //user_check_count a ,
count(user_check_count) b ,
user_check_count *count(user_check_count) c ,
2 * count(user_check_count) d ,
(user_check_count + 2 )*count(user_check_count ) e
from xawb_gf
where user_check_count <= 200
and out_date >= :_sdate
and out_date <= :_ldate
group by user_check_count
;
open ccc;
fetch ccc into :bb,:cc,:dd,:ee;
do while sqlca.sqlcode =0
sbb=sbb+bb
scc=scc+cc
sdd=sdd+dd
see=see+ee
fetch ccc into :bb,:cc,:dd,:ee;
temp_sqlcode= sqlca.sqlcode
loop
close ccc;
...全文
936 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
homemoon 2002-03-18
  • 打赏
  • 举报
回复
user_check_count a,这一行注释掉的
具体的情况是在开发的机器上编译执行是正确的,到其他的机器上就不对了
54doctor 2002-03-18
  • 打赏
  • 举报
回复
有给 _sdate,_ldate赋值吗?
autumn_fox 2002-03-18
  • 打赏
  • 举报
回复
double bb=0,cc=0,dd=0,ee=0,ff=0
double sbb=0,scc=0,sdd=0,see=0
declare ccc cursor for
select
user_check_count a ,
count(user_check_count) b ,
user_check_count *count(user_check_count) c ,
2 * count(user_check_count) d ,
(user_check_count + 2 )*count(user_check_count ) e
from xawb_gf
where user_check_count <= 200
and out_date >= :_sdate
and out_date <= :_ldate
group by user_check_count;
open ccc;
fetch ccc into :bb,:cc,:dd,:ee,:ff;
do while sqlca.sqlcode =0
sbb=sbb+bb
scc=scc+cc
sdd=sdd+dd
see=see+ee
fetch ccc into :bb,:cc,:dd,:ee:ff;
temp_sqlcode= sqlca.sqlcode
loop
close ccc;
gungod2000 2002-03-18
  • 打赏
  • 举报
回复
你select出来的有5个字段,但是你fetch into 的只有四个变量,肯定不正确。改一下看看。
sydeng 2002-03-18
  • 打赏
  • 举报
回复
调试以下,看sqlca.code以及其它变量的值是否正确.
misslyy 2002-03-18
  • 打赏
  • 举报
回复
怎么有两个fetch 语句?

401

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 非技术版
社区管理员
  • 非技术版社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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