免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2623 | 回复: 9
打印 上一主题 下一主题

更新不成功,为什么? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-10-10 16:00 |只看该作者 |倒序浏览
对同一LF操作,
xxx chainLFA   --------------(1)

if the condition = true

xxx chianLFA   --------------(2)
set the field ='A'
updateLFA

LEAVE

endif


(1)& (2) 能用同一个logic file吗?

谢谢指导~

论坛徽章:
0
2 [报告]
发表于 2008-10-10 16:09 |只看该作者
可以。

论坛徽章:
0
3 [报告]
发表于 2008-10-10 16:15 |只看该作者
唉,事实是不行。。。为啥那?

论坛徽章:
0
4 [报告]
发表于 2008-10-10 16:26 |只看该作者
第一次chain后锁住记录,第二次chain会报错

第一次用chain(N),不锁住,但此时不能更新
要更新时再chain

论坛徽章:
0
5 [报告]
发表于 2008-10-10 17:21 |只看该作者
如果每次CHAIN都需要UPDDTA.可以考虑在RPG外OVRDBF一下LF.

论坛徽章:
0
6 [报告]
发表于 2008-10-11 21:14 |只看该作者

回复 #1 lhh03seer 的帖子

在同一个程序中可以直接这样写.因为第一次chain时记录被加锁,但是你在(2)中是先chain,这时就为update取得了修改的权利所以可以update.但是在不同程序中就不可以这样,不过可以使用"tianya0229 大侠"说的方法.

论坛徽章:
0
7 [报告]
发表于 2008-10-13 13:39 |只看该作者
还是没有更新成功,得换种做法才行啊:em11: :em11:

论坛徽章:
0
8 [报告]
发表于 2008-10-14 10:02 |只看该作者
连续读两次同样的文件,不如用reade

论坛徽章:
0
9 [报告]
发表于 2008-10-17 16:43 |只看该作者
原帖由 lhh03seer 于 2008-10-10 16:00 发表
对同一LF操作,
xxx chainLFA   --------------(1)

if the condition = true

xxx chianLFA   --------------(2)
set the field ='A'
updateLFA

LEAVE

endif


(1)& (2) 能用同一个 ...



同一个程序肯定可以的。不知道为什么你的不行,我都测试过啦。呵呵。
是在不行,你把LF写多一个,换个名字修改也行啊。不用执着于一个哦。

论坛徽章:
0
10 [报告]
发表于 2008-10-17 17:14 |只看该作者
同一程序对同一文件的同一记录读几次都不会死锁的.至于不能更新,应该是其他的问题.
可以用一个数字型的字段累加测试.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP