时实刷新 表格 怎么实现 ???  比如:     某条记录改变时,DBGrid只更新那条记录,游标保持不变!    通过Timer每秒刷新太慢,且每次当前记录指针总是First    有没有什么解决办法?

解决方案 »

  1.   

    Q:每次当前记录指针总是First
    ------------------------
    A:简单的办法就是BookMark.Q:通过Timer每秒刷新太慢
    ------------------------
    A:建立后台监控线程Q:某条记录改变时,DBGrid只更新那条记录,游标保持不变!
    ---------------------------------------------------
    A:最好的办法是数据库与界面显示元件彻底分离.
    以上3个问题的比较好解决办法是改变你的设计.不用数据感知元件. 使用完全面向对象的设计方式.
      

  2.   

    每次当前记录指针总是First:
    var
      NID : integer;
    begin
        NID := ADOQuery1.RecNo;
      刷新
       ADOQuery1.RecNo :=NID ;
    end;通过Timer每秒刷新太慢:
    Timer的刷新时间是可以设置的,最小值为1毫秒...
      

  3.   

    Q:通过Timer每秒刷新太慢
    ------------------------
    A:建立后台监控线程我想请教下这点: 
      是不是让线程隔时间取获取数据呢? 有什么办法可以让数据库发生变化时主动通知线程获取呢? 如果让线程定时去刷数据, 感觉数据库压力还是比较大.