1.用两个adoquery,两个datasource
2.adoquery.refresh

解决方案 »

  1.   

    回chll(霖子):向你那样说我的库里有10多个表,就用10多个adoquery、datasource了,不会吧。我用adoquery.refresh也不好使。
      

  2.   

    可以用一个过程,和函数,动态改变datasource的dataset支
      

  3.   

    你的意思是每个表都用一个dbgrid来显示吗?
    你也可以用一个adoquery和一个datasource来实现,动态改变adoquery的sql值就可以了。
    第二个问题,refresh不行的话,更新数据后关闭adoquery,然后再打开试试。
      

  4.   

    是啊,chll(霖子)说的有道理我觉得。
      

  5.   

    用一个Datasource与Dbgrid相连,对ADOQuery或 ADODataSet的sql或CommandText动态赋给select SQL语句。如用ADODataSet实现
    if xz='table1' then
      begin
         ADODataSet1.active:=false;
         ADODataSet1.commandtext:='select * from table1';
         ADODataSet1.active:=true;
      end
    else
      begin
         ADODataSet2.active:=false;
         ADODataSet2.commandtext:='select * from table1';
         ADODataSet2.active:=true;
      end
    end;