回滚 Sql Server 2008 查询
Roll Back Sql Server 2008 query
我正在使用两个存储过程将值插入到两个表中,并且两个表中的数据相互链接,所以我想如果第二个存储过程发生任何错误,通过第一个存储过程输入的数据应该得到滚动支持。
我使用 Sql server 2008 作为后端,ASP.net (c#) 作为前端
使用需要使用TransactionScope
如下
using(var tran = new TransactionScope())
{
//calling stored procedures here
tran.Complete();
}
当发生异常时,控件将从使用中退出,因此 transaction
将 rollback
如果您正在使用 entity framework,您可以使用它。
using (var dataContext = new SchoolMSDbContext())
{
using (var trans = dataContext.Database.BeginTransaction(IsolationLevel.ReadCommitted))
{
try
{
// your query
trans.Commit();
}
catch (Exception ex)
{
trans.Rollback();
Console.WriteLine(ex.InnerException);
}
}
}
或者你可以试试这个
using (var dataContext = new SchoolMSDbContext())
{
using (var transaction = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
{
try
{
//your query
transaction.Complete();
}
catch (Exception ex)
{
transaction.Dispose();
Console.WriteLine(ex.InnerException);
}
}
}
为此你必须参考这个。
System.Transactions
有关更多信息,请查看此链接
https://msdn.microsoft.com/en-us/data/dn456843.aspx
https://msdn.microsoft.com/en-us/library/2k2hy99x(v=vs.110).aspx
我正在使用两个存储过程将值插入到两个表中,并且两个表中的数据相互链接,所以我想如果第二个存储过程发生任何错误,通过第一个存储过程输入的数据应该得到滚动支持。
我使用 Sql server 2008 作为后端,ASP.net (c#) 作为前端
使用需要使用TransactionScope
如下
using(var tran = new TransactionScope())
{
//calling stored procedures here
tran.Complete();
}
当发生异常时,控件将从使用中退出,因此 transaction
将 rollback
如果您正在使用 entity framework,您可以使用它。
using (var dataContext = new SchoolMSDbContext())
{
using (var trans = dataContext.Database.BeginTransaction(IsolationLevel.ReadCommitted))
{
try
{
// your query
trans.Commit();
}
catch (Exception ex)
{
trans.Rollback();
Console.WriteLine(ex.InnerException);
}
}
}
或者你可以试试这个
using (var dataContext = new SchoolMSDbContext())
{
using (var transaction = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
{
try
{
//your query
transaction.Complete();
}
catch (Exception ex)
{
transaction.Dispose();
Console.WriteLine(ex.InnerException);
}
}
}
为此你必须参考这个。
System.Transactions
有关更多信息,请查看此链接 https://msdn.microsoft.com/en-us/data/dn456843.aspx https://msdn.microsoft.com/en-us/library/2k2hy99x(v=vs.110).aspx