读书人

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

发布时间: 2012-01-23 21:57:28 作者: rapoo

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的.

读书人网 >C#

热点推荐