免费注册 查看新帖 |

Chinaunix

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

SETLL的文件能UPDATE吗? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-11-16 09:31 |只看该作者 |倒序浏览
是用U方式打开的, 以SETLL循环, 满足条件UPDATE,然后继续循环, 可以吗? 会不会UPDATE后记录指针复位, 导致死循环呢?

论坛徽章:
0
2 [报告]
发表于 2011-11-16 09:41 |只看该作者
更新键字的话 可能会有问题。

论坛徽章:
0
3 [报告]
发表于 2011-11-16 09:56 |只看该作者
以SETLL怎么循环? 只能定位
需要配合相关的 READ等操作
READ一笔可以UPDATE

论坛徽章:
0
4 [报告]
发表于 2011-11-16 10:08 |只看该作者
我是这样的:
用U打开一个逻辑文件,然后
*LOVAL     SETLL      FilRec
                 READ       FilRec
           
                  DOW      NOT %EOF   
...
IF      字段值='ABC'
             update FilRec
...
                 READ       FilRec
                 ENDO

论坛徽章:
0
5 [报告]
发表于 2011-11-16 12:08 |只看该作者
如果SETLL只是在开始循环前执行一次的话,不会发生指针复位的问题。
   如果你更新了键字的话,就会出现类似问题。

论坛徽章:
0
6 [报告]
发表于 2011-11-16 13:18 |只看该作者
正常来说,是不会有问题
当然不建议修改主键栏位

论坛徽章:
0
7 [报告]
发表于 2011-11-16 20:17 |只看该作者
你那么写没问题
注意PF是否是UNIQUE KEY,如果更新了KEY FIELD可能会有DUPLICATE DATE会报错

论坛徽章:
0
8 [报告]
发表于 2011-11-16 21:24 |只看该作者
回复 1# pure


    如果单纯使用setll + read +update 同时文件没有使用commit那么是可以完成目的的。
   如果单纯使用setll + read +update 同时文件使用commit那么有可能出现死循环。

论坛徽章:
0
9 [报告]
发表于 2011-11-17 09:28 |只看该作者
回复  pure


    如果单纯使用setll + read +update 同时文件没有使用commit那么是可以完成目的的。
...
huangxkst 发表于 2011-11-16 21:24



    求解释

论坛徽章:
0
10 [报告]
发表于 2011-11-17 11:02 |只看该作者
本帖最后由 huangxkst 于 2011-11-17 11:04 编辑

回复 9# shibuya1212


    举一简单的例子:
f file1 uf  e     K disk
.......
C key setll file1
C Dow 1=1
C read file1 88
C if key<> file1key or *in88
C leave
C end
C*update rec inf
C update file1rec 90
.....
C enddo
......
错误之处请指正!:)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP