Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7450
  • 博文数量: 3
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 10
  • 用 户 组: 普通用户
  • 注册时间: 2020-02-26 12:14
文章分类
文章存档

2020年(3)

我的朋友
最近访客

分类: 系统运维

2020-02-26 12:31:08

    想要随心所欲地操作数据文件,必须要学会移动文件的游标,因为游标指向哪条记录,文件的各字段就取哪条记录的对应值。我们常常使用Chain、Setll、Read来控制游标的移动,下面分析这三个指令的作用和区别。
     Chain 是根据键值来查询定位记录的,定位以后,就已经读取了定位的记录。用到的指示器有HI和LO,没有定位到记录打开HI,锁住记录打开LO。关于锁住记录,有一点需要注意:只有在以修改方式打开的文件中,才会锁住记录。也就是当以其它方式打开文件,锁记录和指示器LO,都没有了意义。如果没有查到与键值相等的记录,游标是不会移动的。
     Setll是根据键值来查询记录的,它只能查询不能定位,自然也不会锁住记录,查询后只是把游标移动到查询的记录之前。所以如果想读取查询的记录,还要执行read指令,可见功能和Chain差别很大。它常用的指示器有是EQ,当查询到记录就打开EQ。还有一点与Chain不同的是,如果没有查到与键值相等的记录,游标还是会根据查询键值移动到查询键值之前的。
     Read的功能比较简单,只是按照文件记录序列号的顺序往下读一条,具备锁记录功能。它常用的指示器有LO和EQ,锁住记录打开LO,没有读到记录打开EQ。
     如果觉得指示器的使用有点难以掌握,推荐使用内置函数%Found和%Eof。这两个函数也可以用来判断有没有成功定位或者读到记录,成功的话%Found返回1,失败的话%Eof返回1。
阅读(1827) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:如何在bacth job中调试RPG Program?

给主人留下些什么吧!~~