- 相關(guān)推薦
事務(wù)處理實現(xiàn)遠程表的數(shù)據(jù)更新
事務(wù)處理實現(xiàn)遠程表的數(shù)據(jù)更新
當(dāng)使用遠程表中的數(shù)據(jù)時,事務(wù)處理只更新視圖臨時表的本地備份,對遠程基表的更新不起作用,
事務(wù)處理實現(xiàn)遠程表的數(shù)據(jù)更新
。使用SQLSETPROP()啟動人工事務(wù),SQLROLLBAK()和SQLCOMMIT()控制事務(wù)處理。在自定義類—TRANSACTION中增加方法遠程表事務(wù)處理確認(rèn)—RTRANSCONFIRM和取消(—RTRANSCANCEL)兩種方法。同樣共享數(shù)據(jù)的各個用戶程序也使用行緩沖。
— RTRANSCONFIRM 方法
LPARAMETERS hConnect &&連接句柄
SQLSETPROP(hConnect,'transmode',DB—TRANSMANUAL)
Isuccess=TABLEUPDATE(.T.,.F.)
&&非強制的更新所有修改記錄
IF Isuccess=.F. &&若失敗
oROLLBACK &&取消修改,結(jié)束事務(wù)1
o=AERROR(aErrors) &&取消事務(wù)出錯
oDO CASE
CASE aErrors[1,1]=1585 &&當(dāng)前記錄被其他用戶改過
=RLOCK() &&記錄加鎖
FOR nField=1 to FCOUNT()
&&依次處理每一字段
cField=FIELD(nField)
IF OLDVAL(cField)<>CURVAL(cField)
&&字段被改過,確認(rèn)修改有效
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.) &&強制更新數(shù)據(jù)
【事務(wù)處理實現(xiàn)遠程表的數(shù)據(jù)更新】相關(guān)文章:
Prototype如何更新局部頁面07-16
遠程教育畢業(yè)生登記表自我鑒定09-26
早安心語最新更新09-16
每日更新早安心語大全05-17
每日更新早安心語圖06-25
早安問候語每日更新06-29
實現(xiàn)夢想的法則10-19
早安問候語大全每日更新06-26
關(guān)于早安問候語每日更新08-31
遞歸實現(xiàn)回文判斷09-27