record not found or changed by other user!!高分求教

zlz95 2003-12-10 02:08:36
三层结构中,insert,delete,update后的delta传递到应用服务器,set reconciltodata为true,在应用服务器调用ApplyUpdate,insert成功,delte update抛出上述错误!
晴各位高人指点!!
...全文
26 点赞 收藏 5
写回复
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
风在天涯 2003-12-12
一般来讲,应该是你的数据表中有FLOAT类型的字段.请改用其它类型
回复
hiflower 2003-12-11
没有 CDS.Refresh
回复
wangxj333 2003-12-11
出现此问题的原因;
1.数据在保存时已经被其它人修改.
2.在新增保存后没有重新从数据库取数据而再次修改数据并保存,而数据库中该表有Default字段.
3.有异常字符,例如半个汉字.
我知道的就这些了,希望能帮到你.
回复
黄海海豚 2003-12-10
MIDAS更新数据时,先用保存在ClientDataset中的旧数据查找定位记录,然后用delta中的数据提交进来的新数据更新该数据。当出现多用户操作时,就会出现冲突,由于可能有很多记录都产生错误,而对错误的处理必须由用户决定,所以Delphi中专门有1个Reconcile Error Dialog来处理这种错误,而不需要专门编写代码。可使用delphi提供的RecError单元,来实现。
回复
VeryOldMan 2003-12-10
原理:MIDAS更新数据时,先用保存在ClientDataset中的旧数据查找定位记录,然后用ClientDataset中提交进来的新数据更新该数据。
“record not found or changed by other user”意即无法查找定位原来的记录啦!
建议:检查服务器端DataSetProvider的UpdateModel和Option属性设置。
回复
发动态
发帖子
网络通信/分布式开发
创建于2007-08-02

1566

社区成员

Delphi 网络通信/分布式开发
申请成为版主
社区公告
暂无公告