ADOQuery1的SQL为'select name from TA'
ADOQuery2的SQL为'select name from TA where ID=2'
DBGrid1显示ADOQuery1的内容
DBGrid2显示ADOQuery2的内容
现在问题是我在DBGrid2更改了name字段的内容后,保存之后DBGrid1里面的name 没有改变,
本人试过很多方法

1.在ADOQuery2保存之后
ADOQuery2.Refresh
2.在ADOQuery2保存之后
ADOQuery2.DisableControls;
ADOQuery2.Refresh;
ADOQuery2.EnableControls;2种方法都不行,请高手和有过这样经历的朋友说下你们的解决办法!
谢拉

解决方案 »

  1.   

    1.在ADOQuery2保存之后 
    ADOQuery1.Refresh 2.如果你是用sql语句(update)更改的,不能及时更新
    可以用
    adoquery2.edit;
    ……
    adoquery2.post;
    ADOQuery1.Refresh;
      

  2.   

    试试在ADOQery2更新之后,将ADOQery1.close,然后再Open不知道这样行不行,,我也遇到这个问题,一直也没解决,
      

  3.   

    无论那一个adoquery保存之后都调用下面的语句:
    adoquery1.active:=fasle;
    adoquery1.active:=true;
    adoquery2.active:=fasle;
    adoquery2.active:=true;
    万事就OK了
      

  4.   

    谢谢大家帮忙
    但是问题还是没解决啊
    ADOQuery1的SQL为 "select   name   from   TA " 
    ADOQuery2的SQL为 "select   name   from   TA   where   ID=2 " procedure TForm1.ADOQuery1AfterPost(DataSet: TDataSet);
    begin
       //ADOQuery2.Refresh;
       ADOQuery2.Active:=false;
       ADOQuery2.Active:=true;
       //DBNavigator2.BtnClick(nbRefresh);
    end;procedure TForm1.ADOQuery2AfterPost(DataSet: TDataSet);
    begin
       //ADOQuery1.Refresh;
       ADOQuery1.Active:=false;
       ADOQuery1.Active:=true;
       //DBNavigator1.BtnClick(nbRefresh);
    end;
    随便哪个ADOQuery保存之后该做的事都做拉,还是搞不定啊