pb 想在datawindow里使用数组插入数据库中,用循环来代替游标,但是有时插入的数据不完整。请各位大佬帮忙看看
decimal r_jfje[10],r_dfje[10],r_jfje2,r_dfje2
integer i=1
do
r_zy[i] =string(dw_zw_pzmxb_grid.object.zy.current)
r_km_code[i] =string(dw_zw_pzmxb_grid.object.km_code.current)
r_jfje[i] =dec(dw_zw_pzmxb_grid.object.jfje.current)
r_dfje[i] =dec(dw_zw_pzmxb_grid.object.dfje.current)
messagebox('','1')
if isnull(r_zy[i]) or isnull(r_km_code[i]) or (r_jfje[i]=0 and r_dfje[i]=0) then
messagebox('','2')
messagebox('提示','请将凭证明细表第【' +string(i)+'】排填制完整')
delete from zw_pzmxb where zth=:r_zth and ykjqj=:r_ykjqj and nkjqj=:r_nkjqj and pzh=:r_pzh;
exit
end if
insert into zw_pzmxb (zth,nkjqj,ykjqj,pzh,km_code,zy,jfje,dfje)
values (:r_zth,:r_nkjqj,:r_ykjqj,:r_pzh,:r_km_code[i],:r_zy[i],:r_jfje[i],:r_dfje[i]);
i=i+1
loop until i>r_row
if i>r_row then
declare C_cur cursor for
select zth,nkjqj,ykjqj,pzh,km_code,zy,jfje,dfje
from zw_pzmxb where zth=:r_zth and ykjqj=:r_ykjqj and nkjqj=:r_nkjqj and km_code like:r_km_code[i - 1]
and pzh=:r_pzh;
open C_cur;
do while r_flag=true
fetch C_cur into :r_zth2,:r_nkjqj2,:r_ykjqj2,:r_pzh2,:r_km_code2,:r_zy2,:r_jfje2,:r_dfje2;