2012-02-12 42 views
0

執行DML查詢後,我應該調用trans.Commit()方法嗎?我嘗試了INSERT查詢,並且在沒有Commit()的情況下成功完成並保存在數據庫中,那麼Commit()函數的好處是什麼?我應該什麼時候使用它?SQL提交方法

+0

你是如何驗證數據在數據庫中提交?在同一事務中插入後是否讀取了插入數據? – Ankush 2012-03-20 12:04:51

+0

右鍵單擊服務器瀏覽器中的所需表並選擇「顯示錶數據」 – 2012-03-20 12:09:00

+0

創建trans的TransactionScope是什麼? – Ankush 2012-03-20 12:12:49

回答

0

使用(反式= connection.BeginTrans())

{

// ...做一些事情

trans.Commit();

}

0

要我打電話trans.Commit()梅索德執行DML查詢之後?

是的,假設trans是使用像serializable這樣的事務庫創建的事務。

我試圖INSERT查詢並完成並保存在數據庫中 沒有成功提交(),那麼,什麼是提交()函數 的benifit?

確定嗎?

什麼時候該使用它?

當您想要更新或讀取數據中的原子性時。這裏更多http://en.wikipedia.org/wiki/ACID

你可以參考這個例子 http://msdn.microsoft.com/en-us/library/system.transactions.transactionscope.aspx

// The Complete method commits the transaction. If an exception has been thrown, 
// Complete is not called and the transaction is rolled back. 
scope.Complete();