我数据表中的标识字段是自动ID,TDataSetProvider的UpdateModen设为upWhereAll的时候数据只能添加,不能更新.而UpdataModen设为upWhereKeyOnle的时候边添加都不行了.在客户用Refresh方法刷新数据,则老是取回最前面的数据.(我的TClientDataSet的PackRecords=0).请问大虾有什么好方法可以解决呀!

解决方案 »

  1.   

    refresh只能刷新本地缓存,如果要刷新数据库的内容的话,换句话说就是相当于重新读取数据库记录提交到本地中!close;open;
      

  2.   

    这个问题我遇到过,主要原因是你可能多个数据集用了一个DataProvider;只要将每一个需要更新和添加的数据集对应不同的DataProvider,而对于查询等等其它不需要更新和添加的数据集就对应一个DataProvider就可以了.
      

  3.   

    不是的,我是一个数据集对就一个TDataProvider
      

  4.   

    但是你可能在这一个DataProvider发了数条针对不同数据表的Select语句.如果不是这样,我也不清楚了.