.NET 中的事务回滚操纵
当一个程序要对数据库进行查询操作(增、删、改),可能会有各种各样的原因让查询不成功,也许是内存,也许是网速等。
这时,数据库的数据应该怎么办,对!应该恢复到查询之前的样子,特别是多表的操作,这点显得更加重要了,这回就要用到事务的回滚了,下面仅说一下个人的用法:
一、准备:在项目中引用System.Transactions,同时using System.Transactions;,这样,就可以使用.NET里的事务类了;
二、使用:
- using (TransactionScope t = new TransactionScope())
- {
- //对数据库的相关操作,
- t.Complete();
- }
下面这行是Castle 的事务回滚
- using (TransactionScope tran = new TransactionScope())
- {
- try
- {
- tran.VoteCommit();
- }
- catch
- {
- tran.VoteRollBack();
- }
- }
就这样简单,当{}中的数据提交不成功的话,数据库的数据会恢复到提交之前的样子。
哈哈,.NET就是好哇,把什么东西都封得这样完美了,哎,同时感觉自己像个傻瓜一样,,,
对了,还有一点,做好前两点之后,还要开启一个服务
Distributed Transaction Coordinator,就全部OK啦~~~