三层结构中,insert,delete,update后的delta传递到应用服务器,set reconciltodata为true,在应用服务器调用ApplyUpdate,insert成功,delte update抛出上述错误!
晴各位高人指点!!

解决方案 »

  1.   

    原理:MIDAS更新数据时,先用保存在ClientDataset中的旧数据查找定位记录,然后用ClientDataset中提交进来的新数据更新该数据。
    “record not found or changed by other user”意即无法查找定位原来的记录啦!
    建议:检查服务器端DataSetProvider的UpdateModel和Option属性设置。
      

  2.   

    MIDAS更新数据时,先用保存在ClientDataset中的旧数据查找定位记录,然后用delta中的数据提交进来的新数据更新该数据。当出现多用户操作时,就会出现冲突,由于可能有很多记录都产生错误,而对错误的处理必须由用户决定,所以Delphi中专门有1个Reconcile Error Dialog来处理这种错误,而不需要专门编写代码。可使用delphi提供的RecError单元,来实现。
      

  3.   

    出现此问题的原因;
    1.数据在保存时已经被其它人修改.
    2.在新增保存后没有重新从数据库取数据而再次修改数据并保存,而数据库中该表有Default字段.
    3.有异常字符,例如半个汉字.
    我知道的就这些了,希望能帮到你.
      

  4.   

    一般来讲,应该是你的数据表中有FLOAT类型的字段.请改用其它类型