日期:2014-05-18  浏览次数:20461 次

ASP.NET关于事物处理
1.数据库读访问的时候,有没有必要用事务处理呢?当访问出错的时候,界面会怎么样?(我知道写访问出错的时候界面会跳转到一个很糟糕的界面,但我希望在出错的时候能停留在原界面,只是操作取消了而已)
2.在同一个方法里面,我同时使用了三个事务处理块,但使用的是同一个 transql:
  SqlTransaction transql = null;
结果出错了,我是必须定义三个不同的transql,还是有其他方法呢?
3.我是为了能尽快释放对数据库的占用我才频繁地使用事务处理,在几个事务处理之间我就执行了十行左右的代码,我不知道应该合并这些事务处理还是分开的好。

------解决方案--------------------
事务处理 分在什么情况下事情 主要根据业务来变通

 
C# code

using (TransactionScope scope = new TransactionScope())
{   //创建事物对象
    try
    {
        //执行事务操作的相关代码
 
 
        scope.Complete();  //提交事物
    }
    catch (Exception ex) { throw ex; } //抛出异常
    finally { scope.Dispose(); }  //回滚事物
}

------解决方案--------------------
探讨
2.在同一个方法里面,我同时使用了三个事务处理块,但使用的是同一个 transql:
SqlTransaction transql = null;
结果出错了,我是必须定义三个不同的transql,还是有其他方法呢?
3.我是为了能尽快释放对数据库的占用我才频繁地使用事务处理,在几个事务处理之间我就执行了十行左右的代码,我不知道应该合并这些事务处理还是分开的好。

------解决方案--------------------
多表操作要用事务,保持一致性