事务处理实现远程表的数据更新

时间:2024-10-24 22:01:12 资料大全 我要投稿
  • 相关推荐

事务处理实现远程表的数据更新

事务处理实现远程表的数据更新
  当使用远程表中的数据时,事务处理只更新视图临时表的本地备份,对远程基表的更新不起作用,

事务处理实现远程表的数据更新

。使用SQLSETPROP()启动人工事务,SQLROLLBAK()和SQLCOMMIT()控制事务处理。
  在自定义类—TRANSACTION中增加方法远程表事务处理确认—RTRANSCONFIRM和取消(—RTRANSCANCEL)两种方法。同样共享数据的各个用户程序也使用行缓冲。
  — RTRANSCONFIRM 方法
  LPARAMETERS hConnect &&连接句柄
  SQLSETPROP(hConnect,'transmode',DB—TRANSMANUAL)
  Isuccess=TABLEUPDATE(.T.,.F.)
  &&非强制的更新所有修改记录
  IF Isuccess=.F. &&若失败
  oROLLBACK &&取消修改,结束事务1
  o=AERROR(aErrors) &&取消事务出错
  oDO CASE
  CASE aErrors[1,1]=1585 &&当前记录被其他用户改过
  =RLOCK() &&记录加锁
  FOR nField=1 to FCOUNT()
  &&依次处理每一字段
  cField=FIELD(nField)
  IF OLDVAL(cField)<>CURVAL(cField)
  &&字段被改过,确认修改有效
  DO CASE
  oCASE TYPE(cField)='N'
  oT1=CURVAL(cField)-LDVAL(cField)
  oREPL cField WITH T1+EVAL(cField))
  oOTHEWISE
  oREPL cField WITH CURVAL(cField))
  oENDCASE
  ENDIF
  ENDFOR
  UNLOCK
  =TABLEUPDATE(.T.,.T.) &&强制更新数据

【事务处理实现远程表的数据更新】相关文章:

Prototype如何更新局部页面07-16

远程教育毕业生登记表自我鉴定09-26

早安心语最新更新09-16

每日更新早安心语大全05-17

每日更新早安心语图06-25

早安问候语每日更新06-29

实现梦想的法则10-19

早安问候语大全每日更新06-26

关于早安问候语每日更新08-31

递归实现回文判断09-27