在一个事务开始和提交之间!要修改多个表的内容,而记录集只有一个!如何处理?急!比如说要用m_recordset访问table1 和table2两个表
m_connection->begintrans();
m_recordset->Open("selcet * from table1 "....);
m_recordset->putcollect(........);
m_reocrdset->update();
m_recordset->close();///这时就会有错!以后的就不能继续了!
m_recordset->open("select * from table2"......);
m_recordset->putcollect(。。);
m_recordset->update();
m_connection->commitTrans();
就是这样一个东东,怎么解决这种问题!先谢了!

解决方案 »

  1.   

    putcollect(........);//这里面是修改一些字段值了,我只是表示这里要进行修改操作
    不用这个函数有更好的方法么?
    实际上就是要
    开始事务
    修改表一
    修改表二
    结束事务
    修改的过程只有一个记录集对象!就因为这样在UPDATE的时候总是出错!
      

  2.   

    我的意思是你要先AddRec()再put_collect()然后再updata()
      

  3.   

    或者先select ,再modify().然后put_collect()再updata()
      

  4.   

    主要问题是begintrans()之后不能在UPdate()之前关闭记录集,不关闭它我就不能用他访问第二个表了!
      

  5.   

    那你就用两个m_recordset好了,我们写程序是为了解决问题,我觉得程序写得越简单越好,这里说简单不是说你用的变量越少就越好,只要能够解决问题,不在乎合理得多用几个变量,楼主你说呢?小弟学疏才浅,随便说几句!!!!