有大哥在么?
我用的DBGIRD为什么删除数据后DBGIRD 不能及时更新啊
我用的 
dmDataSource.qrySQLCommand.Close ;
  dmDataSource.qrySQLCommand.SQL.Clear;
  dmDataSource.qrySQLCommand.sql.Add('delete from  person_table where ID='''+trim(txtpersonid.Text)+'''');
  dmDataSource.qrySQLCommand.ExecSQL;这样删除
数据库用的INTERBASE 

解决方案 »

  1.   

    删除完了,把dbgrid关联的数据集重新查询一下。
      

  2.   

    不很明白.能举例子么,我用的TABLE,和DATASOURCE ,DBGIRD连的DATASOURCE.
      

  3.   

    把你的数据集重新关闭后打开,意思就是重新查询一次
    TABLE.close;
    TABLE.open;
    应该就可以了
      

  4.   

    举个例子DBGrid.DataSource.DataSet.Active:=false;
    DBGrid.DataSource.DataSet.Active:=true;或者Table.Active:=false;
    Table.Active:=true;就ok了
      

  5.   

    把数据集先关闭,再打开
    close 然后open
      

  6.   

    刷新数据源!!把数据集先关闭,再打开close 然后open
      

  7.   

    当数据量大时,删除了之后在用上述方法刷新,会导致指针返回到第一条上,无法直观看到操作效果!
      分情况解决:
      1) 如果你的sql语句不是多表组合语句,则可以直接操作对应的dataset datasource应该是自动刷新的,
      2) 如果您的sql语句是多表组合,则如上所说,但最好记录下指针位置,以便requery之后重新定位!
      

  8.   

    如果数据量不是很大的话,直接用Select 语句对表进行查询,之后把查询结果open就可以了。
    Select * From Table; Query.open就可以。