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

  • 相关阅读:
    测试阅读量
    JS中的 length, var i = [1,2]; i[length], 与 i.length, i["length"]的区别
    微信小程序:button组件的边框
    mongo学习笔记
    C言语语法总结(随时更新)
    Vim 常用命令总结
    php 文件操作
    git常用命令
    递归方式转迭代方式
    ECMAScript6 ES6 ES2015新语法总结
  • 原文地址:https://www.cnblogs.com/FavoriteMango/p/10512061.html
Copyright © 2011-2022 走看看