关于SQL事务回滚的操作

2007年06月18日 星期一 下午 12:21

我在这方面也只是一个菜鸟,只是知道怎么用的,用在那方面:

当一个程序要对数据库进行查询操作(增、删、改),可能会有各种各样的原因让查询不成功,也许是内存,也许是网速等。

这时,数据库的数据应该怎么办,对!应该恢复到查询之前的样子,特别是多表的操作,这点显得更加重要了,这回就要用到事务的回滚了,下面仅说一下个人的用法:

一、准备:在项目中引用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啦~~~

还有事情,就这样了,

posted @ 2008-02-01 10:36  point.deng  阅读(3278)  评论(0编辑  收藏  举报