读书人

关于try catch的有关问题

发布时间: 2012-01-31 21:28:41 作者: rapoo

关于try catch的问题
问题:
在数据操作中启用了事务
try
{
sqlconnection.Open();
transaction=sqlconnection.BeginTransaction();
sqlcommand1.ExecuteNonQuery();
sqlcommand2.ExecuteNonQuery();
transaction.Commit();

}
catch(SqlException e)
{
MessageBox.Show(e.Message);
transaction.Rollback();
}
如果在sqlconnection.Open时出现异常,transaction.Rollback()中执行会出现新的异常(transaction没赋值).
应该如何写try catch块呢


[解决办法]
判断下是不是null就可以了。
[解决办法]

C# code
using (TransactionScope scope = new TransactionScope())  {   //创建事物对象      try      {          //执行事务操作的相关代码                scope.Complete();  //提交事物      }      catch (Exception ex) { throw ex; } //抛出异常      finally { scope.Dispose(); }  //回滚事物  }
[解决办法]
进入新的NET版本,请使用TransactionScope取代传统的事务模型。
[解决办法]
探讨
C# code
using (TransactionScope scope = new TransactionScope())
{ //创建事物对象
try
{
//执行事务操作的相关代码


scope.Complete(); //提交事物
}
catch (Exce……

[解决办法]
探讨

引用:
C# code
using (TransactionScope scope = new TransactionScope())
{ //创建事物对象
try
{
//执行事务操作的相关代码


scope.Complete(); //提交事物
}
catch (Exce……


顶这个, 多用using 这样就……

读书人网 >.NET Framework

热点推荐