在三层的clientdataset中删除一条纪录并applyupdates后,dbgrid中的纪录已经看不到了,但在点击dbnavigator的refresh后,该纪录又出现在dbgrid了,即使clientdataset.close;clientdataset.open后仍然显示在dbgrid中,见鬼!!!但数据库里这条纪录确实已经删掉了. 怎幺回事?

解决方案 »

  1.   

    你的DataSetProvider是缺省设置吗?
    你中间层有没有使用Cache?
      

  2.   

    DataSetProvider是缺省设置啊,有甚么不妥吗?
      

  3.   

    applyupdates成功后会自动调用MergechangeLog的。
    从刷新看,数据应该还在数据库中,没有被删除。Delphi不会平白无故变出数据的。
      

  4.   

    我把中间层的adotable的active缺省值设为false就好了.
    想问一下: 把中间层的adotable的active缺省值设为true是不是范了大忌?
      

  5.   

    算了,我多看看书吧.
    多谢两位!!!
    预祝chechy得个大奖!!!