我用的是数据集组件是:ADOQuery;为了运行其间查找基本资料速度提高,我的ADOQuery在登陆时就打开了,当我的基本资料数据更新时,ADOQuery里没有更新(比如ADOQuery连的是客户资料表,当我增加一个客户时,ADOQuery里的数据不会自动更新),不知ADOQuery怎么才能自动更新?
希望各位GGJJ给个答案!

解决方案 »

  1.   

    如果不想重新打开,那么你在增加用户的时候对AdoQuery.Append;
      

  2.   

    如果想自动更新,那么你就要刷新ADOQUERY
    这样又要耗费时间
    建议:
    你可以把DBGRID作成分页显示,比如一次只取20条记录
      

  3.   

    如果数据量不大的话,用hellolongbin(一个人) 的方法
    数据量大的话,用hhzqf1980(hh) ( )的方法
      

  4.   

    修改完ADOQuery对应的表中数据后,执行
    ADOQuery1.Requery();
      

  5.   

    你append  以后
    必须post
    这样才能写入数据库
      

  6.   

    无论是关闭数据后打开,还是ADOQuery1.Requery();速度都非常慢(我的基本资料表中有十多万条记录)
    而且这样的刷新只会对当前用户端有效!
      

  7.   

    TO: hhzqf1980(hh) 
    DBGRID分页显示怎么型
      

  8.   

    當你增加新紀錄時
    With Adoquery do
      begin
        append;
        post;   
      end;
    當刷新數據庫時
     Adoquery.close;
      Adoquery.open;
      

  9.   

    ADOQuery.active:=false;
    ADOQuery.active:=true;
    我是接分来的,呵呵
      

  10.   

    你append  以后
    必须post
    这样才能写入数据库
      

  11.   

    With Adoquery do
      begin
        append;
        post;   
      end;
    當刷新數據庫時
     Adoquery.close;
      Adoquery.open;
      

  12.   

    请各位看清我的问题:是自动刷新,而不是 
      Adoquery.close;
      Adoquery.open;我的数据记录有10万条,如果close,open的话速度是很慢的.
      

  13.   

    用adoquery.append新增資料,不用再更新了呀,GRID能顯示你新增的資料。可能是你沒有說明你的需求。
      

  14.   

    TO: dreamyyuan
    我的Item资料是由一个用户端录入的(假如是由一个文员录入),而当我要开采购订单时,我就要选刚录入的Item资料,因此我用一个下拉框组件,并连接到一个数据集:比如adoquery;因为我的adoquery是我刚登陆系统时打开的,而我要的Item资料在我打开系统之后,由另一个用户录入.因此我的下拉框中找不到对应的Item.因为Item表有太多记录,我不想close再open;这样很慢,你叫我怎么办?
      

  15.   

    我一直用close/open
    一直没有找到好办法
      

  16.   

    jdbc3.0好像有个行集什么的
    可惜不是Delphi
      

  17.   

    因此我的下拉框中找不到对应的Item.因为Item表有太多记录,我不想close再open;这样很慢,你叫我怎么办?
    --------
    你不是说你的数据有10万条吗?10万条放下拉框?不会吧
    有这么多条数据的话,就做个小的弹出查询窗体,让用户输入一定的查询条件,组成sql语句放入另一个adoquery,open.用户选择完item后,把值再带回到你的采购订单界面。
      

  18.   

    网上有篇文章叫[关于SQL Server的注意事项] 你找找看 
    引用一下
    [不要打开大的数据集在csdn技术论坛中 :),一个经常被提出的问题是:我怎样才能迅速的将100000条记录添加到combobox中?这是不对的,你不能也不需要这样做。很简单,你的用户要浏览100000条记录才能找到需要的记录,他一定会诅咒你的。在这里,你需要的是一个更好的ui,你需要为你的用户显示不超过100或200条记录。]
      

  19.   

    你可以用多线程的方法来解决啊,当你的数据字典录入界面关闭时,创建一个线程,让这个线程去刷新相应的ADOQuery.