zoukankan      html  css  js  c++  java
  • 事务的使用

    获取连接对象:

    引用: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();
    }

  • 相关阅读:
    Asp.Net页面导入和导出到EXCEL
    ASP.NET打包安装的制作方法
    asp.net生成高质量缩略图通用函数(c#代码),支持多种生成方式
    aspx页面Repeater嵌套Repeater
    JAVASCRIPT校验大全
    SQL语句导入导出大全
    从DataView中生成Excel报表的方案
    用ajax实现dropdownlist多级联动实例
    ASP.NET结合存储过程写的通用搜索分页程序
    C#程序调用外部程序
  • 原文地址:https://www.cnblogs.com/FavoriteMango/p/10512061.html
Copyright © 2011-2022 走看看