如何使用 ASP.NET & c# 执行 sql 事务(如果未提交所有数据则将数据插入多个表然后回滚)?最简单的方法和最接近的方法sqlCommand
,拜托!
提前致谢,
如何使用 ASP.NET & c# 执行 sql 事务(如果未提交所有数据则将数据插入多个表然后回滚)?最简单的方法和最接近的方法sqlCommand
,拜托!
提前致谢,
尝试使用此代码:
using (SqlConnection con = new SqlConnection("your ConnectionString"))
{
SqlCommand cmd = new SqlCommand("insert into Category values(@name);insert into Packages(name,CatId) values(@pname,@catId)", con);
cmd.Parameters.AddWithValue("@name", "12");
cmd.Parameters.AddWithValue("@pname", "12");
cmd.Parameters.AddWithValue("@catId", "1");
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
添加到@Luftwaffe 答案:
using(TransactionScope tscope = new TransactionScope())
{
using(SqlConnection conn = new SqlConnection(myconnstring)
{
conn.Open();
... Call the necessary stored proc here
tscope.Complete();
conn.Close();
}
}
如果您想采用简单的方式,请使用 a 一次Stored Procedure
更新数据库中的所有数据。您可以处理存储过程本身中的错误并自行回滚那里的事务。
但是,如果您希望从 C# 到 SQL Server 执行多个查询,并希望将所有查询保存在一个事务中,您可以使用TransactionScope Class
.NET 提供的。
这是MSDN 链接。
希望能帮助到你。