我學習X ++和我有2個問題:ttsbegin,ttscommit和「〜」操作
我不明白什麼是ttsbegin and ttscommit
效用! 在哪裏我必須使用它,有什麼用處?
X++ Standards: ttsBegin and ttsCommit AX 2012
這是什麼操作的效用 「〜」?
我學習X ++和我有2個問題:ttsbegin,ttscommit和「〜」操作
我不明白什麼是ttsbegin and ttscommit
效用! 在哪裏我必須使用它,有什麼用處?
X++ Standards: ttsBegin and ttsCommit AX 2012
這是什麼操作的效用 「〜」?
ttsBegin
:標誌着一個事務的開始。這確保了數據的完整性,並保證在事務結束之前執行的所有更新(由ttsCommit
或ttsAbort
)保持一致(全部或全部)。
ttsCommit
:標記事務的成功之路。這結束並提交交易。 MorphX保證承諾的交易將根據意圖執行。
注意
它通常是更好地使用異常處理,而不是
ttsAbort
。 throw語句自動中止當前事務。
這意味着你將開始一個事務與ttsBegin
與ttsCommit
結束它(如果成功的話)或拋出一個異常(如果交易不成功)。從文檔中不清楚,但交易意味着操縱應用程序表。
當你要確保在應用程序表的讀取或更新操作均不會被髮生同時
看到同一鏈路的例子其它表操作做出不一致的你會使用它們。
~
operator是按位不是,它翻轉每個整數的位。例如,(假設32位整數):~0
是FFFFFFFF
(每位現在是1),~4
是FFFFFFFB
(十六進制表示)。
使用ttsbegin當您訪問表中的數據時,它會通知系統事務到數據庫將要發生。
當您更新/保存數據在一排,你必須以其他方式調用ttscommit的變化將恢復爲原始值,類似於當你在C#中使用的數據集/ VB你必須告訴數據集提交所有更改數據庫。
ttsbegin與BEGIN SQL語句相似,ttscommit與COMMIT SQL語句相似。
你必須一起使用它們:
ttsbegin;
「在此處添加代碼來檢索數據和處理數據」
ttscommit;
你很大聲地嵌套ttsbegins和ttscommits,但小心多個使用上面的不關閉一個ttsbegin可以搞砸了很多事情,我發現調用ttsbegin和ttscommit一次就足夠了。至於'〜',我以前從未在2年的Axapta(Microsoft Dynamics AX)的X ++編碼中使用過它。