我是用_ConnectionPtr的execute更新数据,后一个依赖前一个的结果

解决方案 »

  1.   

    一般来说没有问题.除非你需要人为的提交动作.(commit)
      

  2.   

    这是那代码,不知这条语句有没有问题,还有就是ma12 ma26是前面刚刚更新的,这时马上去取,会不会取不到?
    SqlCmd.Format("UPDATE %s SET a="
    "(SELECT TOP 1 ma12 FROM %s WHERE ID=%u)"
    "-(SELECT TOP 1 ma26 FROM %s WHERE ID=%u)"
    "WHERE ID=%u",
    TmpTblName,TmpTblName,i-2,TmpTblName,i,i);
    m_pConn->Execute(_bstr_t(SqlCmd),NULL,adCmdText);
      

  3.   

    那有没有必要写个循环,直到
    m_pConn->CommitTrans();
    成功?
      

  4.   

    还像还是不行
    我只在需要必须要保证数据要提交的时候,执行了一下
    pConn->CommitTrans()
    没有BeginTrans这样行吗?
      

  5.   

    pConn->CommiTrans以后的都不执行,怎么办要这样?
    pConn->Attributes=adXactCommitRetaining;
      

  6.   

    能不能详细说说,谢谢了,比较急啊现在CommitTrans异常啊