//定义数据
string ls_品种,ld_品类
double ld_灰份
//定义光标
declare emp_肥煤 cursor for
select 品种 from 肥煤评价计算;
//打开光标
open emp_肥煤;
//传输数据
fetch emp_肥煤 into :ls_品种;
//数据反复读取
do while sqlca.sqlcode=0
select 灰份 into :ld_灰份 from 肥煤评价计算 where 品种=:ls_品种;
//各个赋值变量清零
ld_灰份=0
//读取下一条记录
fetch emp_肥煤 into :ls_品种;
loop
//关闭光标
close emp_肥煤;
这段简单代码执行过程中ld_灰份的值一直是0,直到游标读取到最后一条记录,想知道为什么呢!?
------解决思路----------------------
//各个赋值变量清零
ld_灰份=0
你这不是清零了吗?
------解决思路----------------------
do while sqlca.sqlcode=0
select 灰份 into :ld_灰份 from 肥煤评价计算 where 品种=:ls_品种;
//此时“ld_灰份”应当不是0(除非你数据库中就是0)
//各个赋值变量清零
ld_灰份=0
//此时“ld_灰份”被你清为0
//读取下一条记录
fetch emp_肥煤 into :ls_品种;
loop
------解决思路----------------------
select 灰份 into :ld_灰份 from 肥煤评价计算 where 品种=:ls_品种;
把这条语句的sqlcode值取出来看是几