加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 你能在一次交易中拥有多个MySqlCommand吗?

发布时间:2020-12-15 08:19:29 所属栏目:百科 来源:网络整理
导读:我想在2个单独的表上进行插入和更新,但是将它们放在1个事务中). 基本上在伪代码中我想做类似的事情: MySqlTransaction trans = null;try{ _Connection.Open(); trans = _Connection.BeginTransaction(); insertCmd.Transaction = trans; updateCmd.Transact
我想在2个单独的表上进行插入和更新,但是将它们放在1个事务中).

基本上在伪代码中我想做类似的事情:

MySqlTransaction trans = null;
try
{
    _Connection.Open();
    trans = _Connection.BeginTransaction();
    insertCmd.Transaction = trans;
    updateCmd.Transaction = trans;

    Int32 id = insertCmd.ExecuteNonQuery();
    updateCmd.Parameters.Add(new MySqlParameter("oid",MySqlDbType.Int32).Value = id);
    updateCmd.ExecuteNonQuery();
}
catch(MySqlException)
{
    if(trans != null)
        trans.RollBack();
}
finally
{
    _Connection.Close();
}

这是可能的还是我以错误的方式解决这个问题?

解决方法

是的,你可以:

>所有表都支持它,(InnoDB表支持它,但MyIsam表不支持)>查询不会影响数据库架构. (ALTER TABLE,DROP TABLE,CREATE TABLE等导致事务提交)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读