一个涉及某个数据窗口多行修改且多表更新保存的问题
if dw_1.update()=1 then
ls_xm=dw_1.getitemstring(g_rownumber,1)
select Nvl(mwd_zggrzhxxk.gzljje,0),Nvl(mwd_zggrzhxxk.dqgzje,0) into :lj_gzje,:dq_gzje from mwd_zggrzhxxk
where mwd_zggrzhxxk.xm = :ls_xm;
ll_kjje=dw_1.getitemnumber(g_rownumber,"kjje")
lj_gzje=lj_gzje + ll_kjje
dq_gzje=dq_gzje + ll_kjje
update mwd_zggrzhxxk set gzljje=:lj_gzje,dqgzje=:dq_gzje
where mwd_zggrzhxxk.xm = :ls_xm;
commit;
dw_1.retrieve()
else
rollback;
messagebox("错误","数据保存失败!")
end if
这样是实现当前行更新,现在我要让整个数据窗口里所有修改的行都实现更新,好象这个循环也不好写啊,是不是该利用数据窗口的modify属性来判断哪些列发生了改变从而来实现所有修改行更新啊?数据窗口的modify行怎么取啊?哪位好心人帮我提示一下啊,跪谢了!