declare lcursor cursor for
select ceil(length(msg)/60),msgid,callno,msg,senddate
from MSG
where nvl(usestatus,0)=2 and substr(msg,1,6)='短信test' and substr(callno,0,7)
not in (select mobile from zx_cmt_mobile where province ='浙江')
using hdyyxyweb;
open lcursor;
lb_continue=true
ll_total=0
do while lb_continue
fetch lcursor into :lmsglines,:lmsgid,:lcallno,:lmsg,:lsenddate;
vcount=1
if hdyyxyweb.sqlcode =0 then
for li=1 to lmsglines
lj=60 * li - 59 //拆分开始位置,每条短信为60个字符
llmsg=mid(lmsg,lj,60) + string(li) + '/' + string(lmsglines) //显示页码
insert into sms_sendtest(msgid,mobile,content,plan_time,id)
values(:lmsgid,:lcallno,:llmsg,:lsenddate,1)
using hdyyxyweb;
vcount++
next
else
rollback using hdyyxyweb;
lb_continue=false
setmle("发送数据库操作失败")
return false
end if
loop;
以上是我写的一个游标,但是sms_sendtest始终取得不到插入的值 ,运行后,直接:提示setmle("发送数据库操作失败")。
if hdyyxyweb.sqlcode =0 then 是不是这个不成立?
请高手指点一下。
------解决方案--------------------
debug 可以看得一清二楚啊
------解决方案--------------------
你可以调试,看游标取到值了没 lmsglines,:lmsgid,:lcallno,:lmsg,:lsenddate
------解决方案--------------------
------解决方案--------------------
建议换游标成DataStore ...