首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > VFP >

vfp 怎么使用数据缓冲更新数据

2012-04-22 
vfp 如何使用数据缓冲更新数据?k.f.k1.f.k2.f.ifbool&&如果BOOL为T,更新该表setmultilocksonselectylsp

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个表中的数据,如果有一个更新失败,则全部还原
*------------------------------------------------------

那最好用事务

热点排行