在VFP中,表中的每一列数据是通过字段名来标识的,而表中的每一行数据是通过记录号来标识的。向表中输入记录时,系统按照输入次序为每个记录加上相应的记录号,最先输入的记录为1号记录,其次为2号记录,依次类推。VFP为每一个打开的数据表都设置了一个记录指针,用来指示记录的位置,记录指针所指的记录称为当前记录。数据表中第一条记录称为首记录,首记录之前有一个文件起始标识,称为文件首;数据表中最后一条记录称为尾记录,尾记录之后有一个文件结束标识,称为文件尾。数据表在刚打开时,记录指针总是指向首(第一条)记录。
可以移动记录指针来改变当前记录的位置,从而实现对指定的记录进行修改、删除等操作。
记录指针的移动有绝对定位、相对定位和条件定位三种方式,可以通过菜单和命令两种方式实现。
1.菜单方式
打开数据表,使其处于浏览状态,然后选择“表”菜单中的“转到记录”菜单项,弹出子菜单,如图3-22所示,可以选择其中的一个菜单项,其中:
1)第一个。使记录指针指向数据表的第一条记录。
2)最后一个。使记录指针指向数据表的最后一条记录。
3)上一个。使记录指针指向当前记录的上一条记录。
4)下一个。使记录指针指向当前记录的下一条记录。
5)记录号。使记录指针指向给定的记录号。选择此选项会弹出一个“转到记录”对话框,如图3-23所示,在其输入记录号,例输入3,然后单击“确定”按钮,记录指针就会指向记录号为3的记录。
图3-22
图3-23 转到记录对话框
6)定位。使记录指针指向满足条件的记录。选择此选项会弹出一个“定位记录”对话框,如图3-24所示。用户可以在“作用范围”中设置定位的范围,在For或While中设置定位的条件,可以单击For或While后的“…”按钮打开“表达式生成器”对话框,如图3-25所示,在“定位记录”中设置定位条件后,单击“确定”按钮返回“定位记录”窗口,最后单击“定位”按钮,记录指针就会定位到满足条件的第一条记录上。
2.命令方式
(1)指针的绝对定位命令。
【格式】GO/GOTO TOP|BOTTOM|<记录号>
【功能】将当前数据表的记录指针移到指定的记录号上。
图3-24 定位记录对话框
图3-25 表达式生成器对话框
【说明】GO与GOTO等价;GO TOP 表示将记录指针指向首记录;GO BOTTOM表示将记录指针指向最后一条记录。
【例3-4】分别显示“教师”表的第1条、第4条和最后一条记录。
结果如下:
结果如下:(www.xing528.com)
结果如下:
(2)指针的相对定位命令。
【格式】SKIP [<数值表达式>]
【功能】将记录指针从当前位置向前或向后移动若干条记录位置。
【说明】<数值表达式>可以是正数也可以是负数,正数表示记录指针由当前位置向文件尾移动,负数表示记录指针由当前位置向文件首移动,省略<数值表达式>,则默认值为1。
【例3-5】使用SKIP命令进行记录指针的定位。
USE 教师
结果如下:
结果如下:
结果如下:
(3)条件定位命令。
【格式】LOCATE[<范围>]FOR<条件>[WHILE<条件>]
【功能】在数据表的指定范围内搜索满足条件的第一条记录。
【说明】1)LOCATE也称为顺序查找命令,若查找到满足条件的记录,记录指针指向该记录,同时FOUND()函数为真;若表中未找到满足条件的记录记录,则记录指针指向文件尾,同时FOUND()函数为假。
2)如果要使记录指针指向下一条满足条件的记录,可以使用CONTINUE命令继续查找下一条满足条件的记录。
【例3-6】用LOCATE命令查询“教师”表中性别为女的记录。
结果如下:
查询下一条满足条件的记录:
注:如要继续查找满足条件的记录,则继续使用CONTINUE命令。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。