vfp 如何使用数据缓冲更新数据?
k=.f.
k1=.f.
k2=.f.
if bool &&如果BOOL为T,更新该表
set multilocks on
select ylsp_
=cursorsetprop( "buffering ",5)
update ylsp_ set syjs=ijcyljjs,sybl=ijcyljbl,syje=ijcylj,;
tjbl=0,yltj=itjylj, ;
jyjs=igdyljjs,jybl=igdyljbl,jyje=igdylj,;
zhje=izhylj,gzbt=iyljce,spry=kspry,spsj=kdate where grbh=kgrbh
k=tableupdate(.t.)
else
k=.t.
endif
set multilocks on
select kxgqsj
=cursorsetprop( "buffering ",5)
update kxgqsj set sfjs= "T " where grbh=kgrbh &&在修改前表中插入《是否计算位》
k1=tableupdate(.t.)
set multilocks on
select kxghsj
=cursorsetprop( "buffering ",5)
insert into kxghsj values(kdwbh,kgrbh,kscbh,kgrxm,ipjzh,iypjjf,ijfnx,istjfnx,kzsjfnx,;
ijcyljjs,ijcyljbl,ijcylj,;
igdyljjs,igdyljbl,igdylj,;
izhyljjs,izhyljbl,izhylj,;
itjylj,kxylj,kdate,kspry) &&将计算结果写入MIS目录下
k2=tableupdate(.t.)
if (k and k1 and k2)
messagebox( "数据保存成功! ")
THISFORM.DAYIN.ENABLED=.T.
else
if bool=.t.
tablerevert(.t., "ylsp_ ")
endif
tablerevert(.t., "kxgqsj ")
tablerevert(.t., "kxghsj ")
messagebox( "数据保存未成功! ")
ENDIF
我要同时更新3个表中的数据,如果有一个更新失败,则全部还原,请各位大哥给看我着程序那有问题,能否实现我叙述的功能,谢谢
[解决办法]
要同时更新3个表中的数据,如果有一个更新失败,则全部还原
*------------------------------------------------------
那最好用事务