我作的一个三层程序,其中一个数据表定义了一个标识字段,在客户端调用该表新增一记录并用
ApplyUpdate(-1)提交后,为何在TClientDataSet中该标识字段的值为空,只有在刷新后才能显示出来。我跟踪了一下,提交后中间层的数据集控件该标识字段是可以显示出来值的。
望各位大侠指点一下,在下不胜感激。并有高分送上。

解决方案 »

  1.   

    在ApplyUpdate(-1)之前,可以先用post把本地更新写入
      

  2.   

    ClientDataset.refresh;刷新一下。就可以了。,
    或者
    ClientDataset.close;
    ClientDataset.open;
      

  3.   

    Refresh一下是可以,可有时记录会变化。因为我要取此表的主键值,再赋给从表。
    唉,为什么Borland不把TClientDataSet做的更好用一些呢。
    如果直接用TQuery控件,在新增记录时,如果新增多条也不会出现“键值冲突”的问题,为什么TClientDataSet就不行呢。