插入多个表ASP.NET& C#

时间:2012-10-06 12:14:59

标签: c# asp.net sql-server

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

提前致谢,

4 个答案:

答案 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();
    }
}