我向数据库添加记录,但DBGrid不能及时显示,是什么原因?

解决方案 »

  1.   

    因为Grid中显示的是DataSet中的数据,而DataSet中的数据是来源于本地内存的,所以当用SQL语句直接对数据库进行写或修改操作时,本地内存并没有修改,这样就形成了不一致的现象
    解决方法为:
    重新将数据库中的数据装载到本地内存中
      

  2.   

    麻烦不要把什么问题都归结到delphi上哦。
    好比你不会用delphi的加法运算,就说delphi不能做加法那么可笑呢。
      

  3.   

    也可以直接用Delphi中的Append等进行处理数据,这样的处理流程是先将数据修改或追加到本地,而后执行Post方法,到数据库中~
    就没有不能及时显示的问题了
      

  4.   

    如果数据集支持reflush,就是requery一次,不支持就active:=false,active:=true一次不就行了。
      

  5.   

    procedure RefreshDateSet;
    begin
      With QReflash do
      begin
        Close;
        Sql.Clear;
        Sql.Text:='Select * From Table';
        Open;
      end;
    end;
      

  6.   

    刷新数据不要用REFRESH,直接APPEND本地就可以了.用REFRESH非常的影响速度.特别是数据量很大时