事务处理实现远程表的`数据更新
当使用远程表中的数据时,事务处理只更新视图临时表的本地备份,对远程基表的更新不起作用。使用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.) &&强制更新数据
事务处理实现远程表的数据更新
进修社
人气:6.65K
周排行榜
- 1电力自动化系统的数据处理
- 22015百度校招数据处理工程师笔试题目
- 3用SQL实现查询数据不显示错误数据的方法
- 4基于VB6.0的Winsock控件的远程数据传输的方法
- 5MatrixVB在测量数据处理中的应用
- 6Sql Server、Access数据排名的实现方法
- 7财务报表数据分析论文
- 8VC++语言编程实现纵断面测量数据的里程平差
- 92015百度校招数据处理工程师笔试题
- 10关于数据新闻对新闻社会功能实现研究
- 112014百度上海数据处理工程师笔试题目
- 12边远地区实现远程教学的探索与实践
- 13关于海量数据处理的面试题
- 14数据处理求职简历模板
- 15数据新闻对新闻社会功能实现的展望分析