首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

SqlTransaction 用与不用的差别~疑惑解决方案

2012-01-23 
SqlTransaction 用与不用的差别~~~疑惑try{sqlcon new SqlConnection(sqlConnection)sqlcon.Open()tra

SqlTransaction 用与不用的差别~~~疑惑

  try
  {
  sqlcon = new SqlConnection(sqlConnection);
  sqlcon.Open();
  tran = sqlcon.BeginTransaction();
  SqlCommand sqlcom = new SqlCommand(StrExecute,sqlcon);
  sqlcom.Transaction = tran;
  sqlcom.ExecuteNonQuery();
  tran.Commit();
  }
  catch
  {
  tran.Rollback();
  }
  finally
  {
  sqlcon.Close();
  }




  sqlcon = new SqlConnection(sqlConnection);
  sqlcon.Open();
  SqlCommand sqlcom = new SqlCommand(StrExecute,sqlcon);
  sqlcom.ExecuteNonQuery();
  sqlcon.Close();




为什么当我传入"BACKUP DATABASE WCRM TO DISK='" + sv.FileName.ToString() + "'"
时第一条语句不能完成这个工作,而第二条可以。
按理说这条语句绝对是没问题的,在第一条执行的时候绝对不会出错。
是不是晚还有哪些细节不够注意,所以才会不能执行

[解决办法]
仔细看MSDN
http://msdn.microsoft.com/zh-cn/library/ms186865.aspx

在备注中明确说明
不允许在显式或隐式事务中使用 BACKUP 语句。
[解决办法]
不知道帮顶,也许backup本身不需要事务. 因为它不是破坏性操作,没有什么可以rollback的.

热点排行