国产激情久久久久影院小草_国产91高跟丝袜_99精品视频99_三级真人片在线观看

事務(wù)處理實現(xiàn)本地表的數(shù)據(jù)更新

時間:2020-10-28 19:22:10 筆試經(jīng)驗 我要投稿

事務(wù)處理實現(xiàn)本地表的數(shù)據(jù)更新

事務(wù)處理實現(xiàn)本地表的數(shù)據(jù)更新
  用事務(wù)來緩沖對磁盤數(shù)據(jù)的更新操作,對磁盤數(shù)據(jù)更新在事務(wù)結(jié)束之后進行,如果系統(tǒng)不能執(zhí)行對數(shù)據(jù)庫的'更新操作,則取消整個事務(wù),不執(zhí)行任何更新操作。
  首先建立事務(wù)處理自定義類—TRANSACTION,包括本地表事務(wù)處理確認(rèn)(—TRANSCONFIRM)和本地表事務(wù)處理取消(—TRANSCANCEL)兩種方法。這兩種方法的前提條件是訪問共享數(shù)據(jù)的各個用戶程序都使用行緩沖。用CURSORSETPROP(“Buffering”,3)將表設(shè)置成開放式行緩沖方式。
  —TRANSCONFIRM 方法
  BEGIN TRANSACTION &&開始事務(wù)1
  Isuccess=TABLEUPDATE(.T.,.F.)
  &&非強制的更新所有修改記錄
  IF Isuccess=.F. &&若失敗
  oROLLBACK &&取消修改,結(jié)束事務(wù)1
  o=AERROR(aErrors) &&取消事務(wù)出錯
  oDO CASE
  ooCASE aErrors[1,1]=1585
  &&當(dāng)前記錄被其他用戶改過
  =RLOCK() &&記錄加鎖
  FOR nField=1 to FCOUNT()
  &&依次處理每一字段
  cField=FIELD(nField)
  IF OLDVAL(cField)<>CURVAL(cField)
  o&&字段被改過,確認(rèn)修改有效
  oDO CASE
  CASE TYPE(cField)='N'
  T1=CURVAL(cField)-LDVAL(cField)
  REPL cField WITH T1+EVAL(cField))
  oOTHEWISE
  oREPL cField WITH CURVAL(cField))
  oENDCASE
  oENDIF
  oENDFOR
  oUNLOCK
  oBEGIN TRANSACTION &&開始事務(wù)2
  o=TABLEUPDATE(.T.,.T.) &&強制更新數(shù)據(jù)
  oEND TRANSACTION &&結(jié)束事務(wù)2
  oENDCASE
  ELSE
  END TRANSACTION &&結(jié)束事務(wù)1
  ENDIF
  o— TRANSCANEL方法
   BEGIN TRANSACTION &&開始事務(wù)1
  Isuccess=TABLEUPDATE(.T.,.F.)
  &&非強制的更新所有修改記錄

【事務(wù)處理實現(xiàn)本地表的數(shù)據(jù)更新】相關(guān)文章:

實現(xiàn)基于網(wǎng)頁的數(shù)據(jù)庫數(shù)據(jù)導(dǎo)入10-06

用SQL實現(xiàn)查詢數(shù)據(jù)不顯示錯誤數(shù)據(jù)的方法11-10

Sql Server、Access數(shù)據(jù)排名的實現(xiàn)方法11-12

JavaScript數(shù)據(jù)結(jié)構(gòu)與算法中集合的實現(xiàn)11-18

如何實現(xiàn)多個硬盤同步數(shù)據(jù)傳輸07-25

貴州安順實現(xiàn)社?ㄖ瓶〝(shù)據(jù)自助采集09-22

基于MAPGIS的縣級土地利用現(xiàn)狀數(shù)據(jù)庫更新研究09-02

淺談基于SOA 的數(shù)據(jù)交換中心的設(shè)計和實現(xiàn)論文07-08

OPC實現(xiàn)的PKS組態(tài)王的數(shù)據(jù)通信論文12-04

實現(xiàn)PHP獲取表單數(shù)據(jù)與HTML嵌入PHP腳本的技巧11-14