我用ADOQuery对ORACLE数据进行insert、update,我本人可以看到数据更新的结果,但是别人看不到(未提交),等我退出程序,别人才看到(才做Commit)。ADOQuery->ExecSQL()好象不会自动做commit,是否需要ADOQuery->Post();

解决方案 »

  1.   

    你ADOQuery->ExecSQL()后人家一般就可以看到了。你怎么知道人家看不到
    人家也要重新從數據庫取數據才可以看到更新的
      

  2.   

    我当然证实过的,用SQLPLUS也未查到。
      

  3.   

    Oracle数据操作最后需要提交Commit
      

  4.   

    helodd(~改来改去~) :我知道.对ADOQuery来讲如何做?
      

  5.   

    ADOQuery这样写
    'insert into table …………;
    commit;'
      

  6.   

    'insert into table …………;
    commit;'
    这样就是手动commit
      

  7.   

    self.ADOQuery1.UpdateBatch(arAll);应该也行
      

  8.   

    ADOQuery1->ExecSQl("insert into table@dblink values....."  )注意table@dblink, 我使用的是ORACLE数据库,而且是将修改远程数据库(通过DATABASE LINK连接)。如果没有DATABASE LINK,当然每次会COMMIT;有了DATABASE LINK他不COMMIT,除非退出程序。