• 事务的使用


    获取连接对象:

    引用:using System.Configuration;

    string connStr = ConfigurationManager.ConnectionStrings["conStr"].ToString();

    写法一:

    using (SqlConnection conn = new SqlConnection (connStr)
    {
    conn.Open();
    using (SqlTransaction tran = conn.BeginTransaction())
    {
    using (SqlCommand cmd = conn.CreateCommand())
    {
    try
    {
    cmd.Transaction = tran;  //为命令指定事务
    cmd.CommandText = "insert into info values('小谢','男')";
    cmd.ExecuteNonQuery();
    cmd.CommandText = "insert into info values('小周','男')";
    cmd.ExecuteNonQuery();
    tran.Commit();  //事务提交
    }
    catch (Exception)
    {
    tran.Rollback(); //事务回滚
    }
    }
    }
    }

    写法二:

    SqlConnection conn = new SqlConnection(连接对象);
    conn.Open();
    SqlTransaction tran = conn.BeginTransaction();
    SqlCommand cmd = new SqlCommand();
    cmd.Connection = conn;
    cmd.Transaction = tran;
    try
    {
    cmd.CommandText = "insert into info values('小谢','男')";
    cmd.ExecuteNonQuery();
    cmd.CommandText = "insert into info values('小周','男')";
    cmd.ExecuteNonQuery();
    tran.Commit();
    }
    catch (Exception)
    {
    tran.Rollback();
    }

    conn.Close(); 

    多条sql语句:

    List<string> sqlStr = new List<string>();
    string sql1 = "insert into info values('小吴','男')";
    string sql2 = "insert into info values('小胡','男')";
    sqlStr.Add(sql1);
    sqlStr.Add(sql2);
    using (SqlConnection conn = new SqlConnection (connStr))
    {
    conn.Open();
    using (SqlTransaction tran = conn.BeginTransaction())
    {
    using (SqlCommand cmd = conn.CreateCommand())
    {
    try
    {
    cmd.Transaction = tran;   //为命令指定事务
    foreach (var item in sqlStr)
    {
    cmd.CommandText = item;
    cmd.ExecuteNonQuery();
    }
    tran.Commit();
    }
    catch (Exception)
    {
    tran.Rollback(); //事务回滚
    }
    }
    }
    conn.Close();
    }

  • 相关阅读:
    java 第二次作业
    Java上机作业5.7
    Java上机作业4.30
    Java第八周作业
    上机作业4.23
    第七周作业
    4.16上机作业
    第六周作业
    Java上机作业4.9
    Java4.2上机作业
  • 原文地址:https://www.cnblogs.com/FavoriteMango/p/10512061.html
Copyright © 2020-2023  润新知