zoukankan      html  css  js  c++  java
  • mysql 事务测试

    public decimal TransactionTest()
    {
    decimal v = 0;
    using (MySqlConnection con = new MySqlConnection(connectionString))
    {
    con.Open();
    using (MySqlTransaction trans = con.BeginTransaction())
    {
    try
    {
    using (MySqlCommand cmd = new MySqlCommand("select debit_balance from c_account_customer where id=1 for update;", con, trans))
    {
    v = (decimal)cmd.ExecuteScalar();
    }
    using (MySqlCommand cmd = new MySqlCommand("insert into abacus.testvalue (val) values (@db);", con, trans))
    {
    cmd.Parameters.AddWithValue("@db", v);
    cmd.ExecuteNonQuery();
    cmd.Parameters.Clear();
    }
    using (MySqlCommand cmd = new MySqlCommand(" insert into abacus.c_entry_customer(customer_id, item_id, ref_id, direction, amount, operation, operation_id, note) values(1, 1, 1, 1, 1, 1, 1, 1); ", con, trans))
    {
    cmd.ExecuteNonQuery();
    }
    using (MySqlCommand cmd = new MySqlCommand(" insert into abacus.c_entry_customer(customer_id,item_id,ref_id,direction,amount,operation,operation_id,note) values (1,2,1,1,1,1,1,1);", con, trans))
    {
    cmd.ExecuteNonQuery();
    }
    using (MySqlCommand cmd = new MySqlCommand("update abacus.c_account_customer set debit_balance=@db+1 where id=1;", con, trans))
    {
    cmd.Parameters.AddWithValue("@db", v);
    cmd.ExecuteNonQuery();
    cmd.Parameters.Clear();
    }
    trans.Commit();
    }
    catch (Exception ex)
    {
    trans.Rollback();
    }
    finally
    {
    con.Close();
    }
    return v;
    }
    }
    }
  • 相关阅读:
    leetcode笔记-1 twosum
    pythoon_interview_redit
    Python 二维列表
    py xrange
    python 垃圾回收机制
    python 链表
    Python 面试总结
    linux 目录
    Linux 文件名颜色
    实践是检验真理的唯一标准
  • 原文地址:https://www.cnblogs.com/zhangzhi19861216/p/5123527.html
Copyright © 2011-2022 走看看