三层架构下,系统设置ClientDataSet.PacketRecords=10,初次调用Clientdataset.Append 会将该表的所有记录刷新一遍。速度相当慢呀。我用的表的记录数已经达到了4万多条,第一次Append 大约5分钟,后续Append 会想当的快,请问各位有解决方法吗?先谢过了

解决方案 »

  1.   

    1.想办法不要把所有的数据都查回来,最好能做成分页;
    2.操作前先DisableControls,操作完成调EnableControls,这样会一次性刷新,会快很多。比如:
      cds.DisableControls;
      try
        //这里做你的更新。
      finally
        cds.EnableControls;
      end;
      

  2.   

    建议写和读分开进行,读取数据的游标设置为ltReadOnly,如果打开单表 以 ctOpenForwardOnly方式打开,这样读取数据会非常快,写数据就不需要这么设置了。