Mysql事务问题调试了半天,居然是Mysql数据库类型为MyISAM的表不支持事务

今天由于l事务不生效问题调试了半天,居然是Mysql数据库MyISAM类型表不支持事务
后面把表类型更改成InnoDB,事务处理才生效,郁闷了半天啊!!!

 

基础事务代码:

 

  string sqlStr = @"Insert Into `mets_daily_drinking_info`( PatientID,CureID,DrinkingTime,DrinkingAmount,DrinkingAmountUnit)
                                   Values({0},{1},'{2}',{3},{4})";
        sqlStr = string.Format(sqlStr, 5555, 1, "2009-4-4 13:06:44", "4ffff4444444", 4666);
        MySqlConnection con = new MySqlConnection(MySqlConnString.METSConnection);
        con.Open();//在调用方法前打开数据库连接
        MySqlTransaction tran = con.BeginTransaction();//在生成SqlTransaction对象前必须打开数据库连接
        try
        {
            MySqlCommand comm = new MySqlCommand();//创建和声明Command对象
            comm.Connection = con;
            comm.Transaction = tran;//设置属性为SqlTransaction对象

            comm.CommandText = "Delete From mets_daily_drinking_info";//设置

            comm.ExecuteNonQuery();//执行SQL语句

            comm.CommandText = sqlStr; //设置SqlCommand对象要执行的SQL语句

            comm.ExecuteNonQuery();//执行SQL语句   

            tran.Commit();
        }
        catch
        {
            tran.Rollback();
            throw;
        }
        finally
        {
            con.Close();//关闭数据库连接
        }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值