我用一个ADOQuery1对应一个DBgrid,初始化时选出某些记录后,ADOQUery1又执行了一个插入记录的语句,可是DBGrid的显示没有变化,怎么让DBGrid显示记录刷新?不要说重新查询一次,因为我觉得这样效率很低。

解决方案 »

  1.   

    DBGrid显示的内容并不是数据库中某个表中的内容,而是显示的通过DataSource所连接到的ADOQuery中的dataset(ADO中的DataSet,和TDataSet控件没有关系)中的内容,所以,你的问题我回答完了。如果你通过ADOQuery向数据表中填加了一条记录,而ADOQuery又没有重新查一次的话,DBGrid中是不会有变化的。
      

  2.   

    因为此时ADOQuery中的内容就根本没有变化。
      

  3.   

    他好像不能自动刷新,手动刷一下吧
    adoquery1.active := false;
    adoquery1.active := true;
    或者
    ADOQuery1.close;
    ADOQuery1.open;
      

  4.   

    不不不  我记得TABLE是有个刷新方法的  等我查查啊 
    哦  QUERY是不大可能吧