2010-06-21 157 views
2

事務在提交併且連接關閉後可以回滾嗎?事務在提交併且連接關閉後可以回滾嗎?

finally 
    { 
     // Commit the transaction. 
     sqlTran.Commit(); 

     reader.Close(); 
     reader.Dispose(); 

     conn.Close(); 
     conn.Dispose(); 
    } 

我想給用戶哎呀的選擇!將它捲回。所以如果提交它可以回滾?

+1

你知道「commit」這個詞的意思了吧? http://dictionary.reference.com/browse/commit:P提交一份交易說:「這就是我想要做的,是的,我確定...做到這一點!」以後你不會站起來改變主意。 – cHao 2012-09-21 16:13:35

回答

5

如果您希望事務在提交後保持不變,則已提交的事務永遠不會回滾。

您是否在尋找savepoints

3

那麼,如果它承諾,它承諾。沒有回滾。 如果你想成爲一個非常笨的用戶,建立一個定時器並在延遲之後提交,讓用戶選擇回滾一段時間。

+2

此解決方案可能存在一些問題。例如,如果您的系統在定時器啓動之前斷電,會發生什麼情況?用戶將假定交易已提交,實際上它將被回滾。 – DarLom 2010-06-21 12:01:26

0

如果你把你的 '糟糕!'在適當的情況下,你應該能夠做到你需要的東西。

另外,看看nested transactions,也許這將更適合您的情況。

最後,Tobias指出有save points

相關問題