DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: webb123
今日帖子: 3
在线用户: 3
导航: 论坛 -> 文档资料 斑竹:liumazi,ruralboy  
作者:
男 kangkang (kangkang) ★☆☆☆☆ -
普通会员
2003/12/30 21:42:32
标题:
关于midas主从表更新的问题请教高手 浏览:3117
加入我的收藏
楼主: 请教高手,我在更新嵌套的主从表时记录时,当每次在从表新增一笔并提交保存后,然后再次修改这条刚新增的记录时就会出现“该记录已被另外的用户改变”的提示,请问是什么原因?多谢
----------------------------------------------
-kangkang
作者:
男 hotyei (青出于蓝) ★☆☆☆☆ -
盒子活跃会员
2003/12/30 22:54:54
1楼: 多半是你数据库的字段有默认值,而这个默认值与客户端程序字段的默认值不相符。
----------------------------------------------
米软科技有限公司http://www.szmesoft.com
作者:
男 kangkang (kangkang) ★☆☆☆☆ -
普通会员
2003/12/31 9:04:43
2楼: hotyei (花心萝卜) 
非常感谢你能回答我的问题,但我用的是三层结构Midas,而且按你的方法我删除了默认字段值,还是不行,你能具体说明一下,在三层中每次在子表中新增一条记录后主表是否要刷新,因为我试过把主档refresh,就可避免上述情况,但当主表是在第一条记录时,refesh就把子档记录全部显示了出来,这是不正确的?请继续帮我想想这个问题好吗?谢谢!一定给分(在线等待)
----------------------------------------------
-kangkang
作者:
男 hotyei (青出于蓝) ★☆☆☆☆ -
盒子活跃会员
2003/12/31 11:20:30
3楼: 如果使用Refresh就可以避免的话,就更加说明是这个问题了。还有,你是否使用了AutoInc字段,这种字段在Midas中我没用过,不知会不会产生这种问题。在三层中,在子表新增记录是不需要Refresh的,基本上就像使用二层的一样。以我的经验,就是默认值与客户端程序字段的默认值不相符。如果你使用的SQL-Server的话,就可以使用跟踪器跟踪一下SQL语句,或将DataSetProvider的UpdateMode改为upWhereChanged也是一个治标的方法。

"一定给分"?? 这里是没有分吧。
----------------------------------------------
米软科技有限公司http://www.szmesoft.com
作者:
男 kangkang (kangkang) ★☆☆☆☆ -
普通会员
2003/12/31 11:33:24
4楼: 谢谢,你的建议让我明白,现在问题已解决,原因在于我在子表中新增记录,没有给主从关联字段赋值,按一般做法这个值可以由ADO自动加上去,但实际上加上的这个主从表关联值是在applyupdates以后由ADO自动加上去,初看起来这没有什么不妥,但由于在子表中新增记录时没有刷新,也就会出现由于ADO自动添加了值而与客户端不一样,所以才会出现recorder changed by an another user 的错误,解决办法就是在子表中的afterinsert中给赋上主从关联值即可.
再次感谢hotyei (花心萝卜) .祝新年快乐
----------------------------------------------
-kangkang
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行68.35938毫秒 RSS