久久99热66热这里只有精品,特黄特色的大片在线观看,亚洲日本三级在线观看,国产三级农村妇女在线,亚洲av毛片免费在线观看,哺乳叫自慰在线看,天天干美女av网

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

時間:2024-08-18 22:51:38 資料大全 我要投稿
  • 相關(guān)推薦

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

事務(wù)處理實現(xiàn)本地表的數(shù)據(jù)更新
  用事務(wù)來緩沖對磁盤數(shù)據(jù)的更新操作,對磁盤數(shù)據(jù)更新在事務(wù)結(jié)束之后進(jìn)行,如果系統(tǒng)不能執(zhí)行對數(shù)據(jù)庫的更新操作,則取消整個事務(wù),不執(zhí)行任何更新操作,

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


  首先建立事務(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)文章:

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

早安心語最新更新09-16

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

每日更新早安心語圖06-25

早安問候語每日更新06-29

實現(xiàn)夢想的法則10-19

早安問候語大全每日更新06-26

關(guān)于早安問候語每日更新08-31

遞歸實現(xiàn)回文判斷09-27

中小學(xué) 方案最新(更新版)09-28