数据库增加记录用另外的ADOQuery,重新SELECT效率会大大减低
用手工把增加新行到TDBGrid

解决方案 »

  1.   


    ADOQuery.Append
    然后可以直接在Grid中写,或者
    ADOQuery.FieldByName('字段').Asstring := ****;
    ADOQuery.Post;
      

  2.   

    手工增加不太好,不能保证和DB的一致,建议还是从DB select吧,效率差不了多少,除非数据量很大,提高效率应该在后台优化,加相关的索引.
      

  3.   

    Append
    ...
    Post
    这个是插入到数据库,这个知道
    如果写代码加一行到TDBGrid,请教这个代码TO: willflyz
    谢谢你的建议,还是不想重新select 因为连接的远程服务器,数据也会很多才考虑这样的
      

  4.   


    既然是DB控件,你为什么要这么操作,DB控件的状态改变都要反映到数据集上,你现在要反其道而行之的话,可以考虑用非DB控件,那样,你的可控性就很大了
      

  5.   

    如果对一个有上几十万的数据表,每新增、修改都重新查询会影响效率,而且不同的网络(电信、铁通..)
    所以才考虑数据库操作和DBGRDI操作分开。
      

  6.   


    为什么,append一条记录,不用你重新select,而且你可以做到批量更新,所有修改的记录都在本地内存,中速度很快,只是最后一并提交到服务器
      

  7.   

    ADOQuery.Append 
    然后可以直接在Grid中写,或者 
    ADOQuery.FieldByName('字段').Asstring := ****; 
    ADOQuery.Post; 这样是直接对数据库进入插入操作吧那本地显示的TDBGRID如果也看到新增的那一行呢
      

  8.   

    TO:bdmh 
    我明白了,不好意思,我是新手,谢谢大家