我在form1的onshow和onactivate事件里,加了ado.active:=false;ado.active:=true;
也不会自动更新,怎么回事?

解决方案 »

  1.   

    dbgrid1.datasource.dataset.refresh;

    query1.requery;

    query1.close;
    query1.open;
      

  2.   

    dbgrid1.datasource.dataset.refresh
    经常刷新不到的
      

  3.   

    你把ado.active:=false;ado.active:=true;加在删除操作后就可以了
      

  4.   

    还是不行"你把ado.active:=false;ado.active:=true;加在删除操作后就可以了"必须再执行一次才可以刷新,很奇怪!
      

  5.   

    哦,不会
    dbgrid1.datasource.dataset.active:=false;
    dbgrid1.datasource.dataset.active:=true;
    都不行吧?
      

  6.   

    你必须指定FORM2.ADO才行的
    form2.ado.active:=false;form2.ado.active:=true;
    这样你试试
      

  7.   

    我在form2里有一段adoquery1.Active:=false;
    adoquery1.SQL.Clear;
    adoquery1.SQL.Add('delete * from sale_table')   ;
    adoquery1.ExecSQL;
    form3.Close;
    form2.Show;
    form1里的ado是直接连接sale_talbe  很奇怪再进入form2后直接退出来就可以了。
    然form1里的onactive里有ado.active:=false
                          ado.active:=true;
      

  8.   

    实际上我发现在form2.adoquery里删除表后
    form1.dataset里还是保留原有数据,必须更新。
    但是就是无法写代码在删除后自动更新数据集。
      

  9.   

    必须指明把form1.ado.active置为false,then ,form1.ado.active:=true.