- 相关推荐
事务处理实现远程表的数据更新
事务处理实现远程表的数据更新
当使用远程表中的数据时,事务处理只更新视图临时表的本地备份,对远程基表的更新不起作用,
事务处理实现远程表的数据更新
。使用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