两个ADO控件连接同一个表
一个是ADOTABLE,它更新并提交了数据,(提交   BookData.adotBookFromat.CheckBrowseMode;
  BookData.adotBookParaFormat.CheckBrowseMode;)
另一个是ADOQUERY控件,等上面的更新完了,用QUERY查询,但是查询到的结果还是没有更新之前的
ACCESS

解决方案 »

  1.   

    1.可能是你的数据还只是在ADOTable相关的资源缓存当中,并没有提交到数据库.
    2.关键还要看两个连接所使用的事务隔离模式(ADOConnection.IsolationLevel).比如说ADOTable处于自己的事务当中,Post之后还没有Commit事务,那么ADOQuery如果是只读取已经提交的数据(ilReadCommited),那么ADOQuery就无法取得ADOTable在Commit事务之前的数据.
      

  2.   

    確定數據已經保存成功了嗎?
    如果保存成功,把QUERY先close再open
      

  3.   

    確定數據已經保存成功了嗎? 
    如果保存成功,把QUERY先close再open怎么确定呀!关了,第二次打开就是对的,保存成功了吧
      

  4.   

    你可以用Access打开看一下数据是不是已经提交过去.如果没有,那么就需要ADOTable上做Post.如果确认已经提升,那就对ADOTable相关的Connection做CommitTransaction
      

  5.   

    可能没有提交到数据库,这样试一下
    adoconnection.begintrans;
    try
      with adoquery1 do
      begin
        close;
        sql.text := ' usdate .....';
        execsql;  
      end;
      adoconnection.committrans;
      //再刷新一下
    except
      adoconnection.rollbacktrans;
    end;
      

  6.   

    数据库里的值没变,用POST不对,POST只能在EDIT或INSERT状态下才能用,
      

  7.   

    修改时用的全是DBEDIT什么的控件,查询才是用的ADOQUERY
      

  8.   

    可能没有提交到数据库,这样试一下 
    adoconnection.begintrans; 
    try 
      with adoquery1 do 
      begin 
        close; 
        sql.text := ' usdate .....'; 
        execsql;  
      end; 
      adoconnection.committrans; 
      //再刷新一下 
    except 
      adoconnection.rollbacktrans; 
    end;
      

  9.   

    修改之前先调用ADOTable的Edit方法,修改完之后Post
      

  10.   

    改成EDIT
       POST了
    可是不行,应该是问题不在这,再好好找找