2012-02-12 49 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();