0

如何使用 ASP.NET & c# 执行 sql 事务(如果未提交所有数据则将数据插入多个表然后回滚)?最简单的方法和最接近的方法sqlCommand,拜托!

提前致谢,

4

3 回答 3

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();
            }
于 2012-10-06T12:27:25.957 回答
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();
    }
}
于 2012-10-06T15:06:03.850 回答
0

如果您想采用简单的方式,请使用 a 一次Stored Procedure更新数据库中的所有数据。您可以处理存储过程本身中的错误并自行回滚那里的事务。
但是,如果您希望从 C# 到 SQL Server 执行多个查询,并希望将所有查询保存在一个事务中,您可以使用TransactionScope Class.NET 提供的。
这是MSDN 链接
希望能帮助到你。

于 2012-10-06T12:38:44.440 回答