C# mysql 处理 事务 回滚 提交

        MySqlConnection myCon;
        void iniMysql()
        {
            //连接数据库    
            myCon = new MySqlConnection("server=127.0.0.1;username=zpcmysql;password=zpc;database=test;SslMode=none;charset=utf8;");
            if (!myCon.Ping())
            {
                myCon.Open();
            }
            //
            MySqlCommand cmd = myCon.CreateCommand();
            //创建事务 并且启动
            MySqlTransaction transaction = myCon.BeginTransaction();

            cmd.Transaction = transaction;
            try
            {
                cmd.CommandText = "INSERT INTO table1(id,name) VALUES(1,'张三')";
                int x = cmd.ExecuteNonQuery();
                cmd.CommandText = "INSERT INTO table1(name) VALUES('李四')";
                int y = cmd.ExecuteNonQuery();

                //没有异常则正常提交事务 更改表格
                transaction.Commit();
            }
            catch (Exception ex)
            {
                //如果遇到错误 或者 影响表为0 则回滚事务
                transaction.Rollback();
            }
            
        }

 C# 处理事务需要 通过 MySqlTransaction 类去实现  此类不可被继承

   Commit() 提交事务
   Rollback()回滚事务
   Connection 获取 连接的MySqlConnection对象

  需要注意提交和回滚只能调用一次,否则会报错。同理MySQL语句

原文地址:https://www.cnblogs.com/z45281625/p/10834877.html