如何执行sql事务(如果未提交所有数据然后回滚,则将数据插入多个表)使用ASP.NET& C#?请最简单的方式和最接近sqlCommand
的方式!
提前致谢,
答案 0 :(得分:3)
我认为此链接对您的问题非常有帮助,因为您还没有想法:http://www.codeproject.com/Articles/4416/Beginners-guide-to-accessing-SQL-Server-through-C
答案 1 :(得分:1)
尝试使用此代码:
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();
}
答案 2 :(得分:0)
如果您想以简单的方式使用Stored Procedure
一次更新数据库中的所有数据。您可以处理存储过程中的错误并在其中回滚事务
但是,如果您希望从C#执行多个查询到SQL Server并希望将所有查询保留在单个事务中,则可以使用.NET提供的TransactionScope Class
。
这是MSDN Link
希望它有所帮助。
答案 3 :(得分:0)
加入@Luftwaffe回答:
using(TransactionScope tscope = new TransactionScope())
{
using(SqlConnection conn = new SqlConnection(myconnstring)
{
conn.Open();
... Call the necessary stored proc here
tscope.Complete();
conn.Close();
}
}