|
目的要求 掌握 VFP的记录的编辑与维护
重点难点 定位记录、编辑与维护表记录
5.1 定位当前记录
表文件中的记录有两种方法排列顺序,即物理顺序和逻辑顺序。以后所说的记录顺序均指逻辑顺序。
记录定位是指将记录指针指向当前所打开的表文件中的某一个记录,记录指针的值等于该记录的记录号。
5.1.1 绝对定位
绝对定位是将记录指针直接定位到所要指的记录上。
命令格式: [GO/GOTO] <数值表达式>
或 GO/GOTO TOP/BOTTOM
命令功能:将记录指针指向记录号为 <数值表达式>值的记录上。
例 5.1 绝对定位记录指针命令 GO举例
USE 学生情况.dbf
? RECNO() &&1 RECNO()为显示当前记录号函数
GOTO 3
? RECNO() && 3
GO BOTTOM
? RECNO() && 7
注意:当一个表文件被打开时,记录指针指向第一条记录。
5.1.2 相对定位
相对定位是将记录指针根据当前位置向前或向后移动若干个记录。
命令格式: SKIP [<数值表达式>]
命令功能:将记录指针从当前位置开始前后相对移动,移动的记录数等于表达式的值。当数值表达式值为 1时,即“SKIP 1”,可简写成“SKIP”。
例 5.2 相对定位记录指针命令 SKIP举例。
USE 学生情况.dbf
GO 5
DISP
记录号 学号 姓名 性别 出生日期 毕业否 专业 助学金 简历
5 20005 王 刚 男 04/03/83 .T. 数学 30.00 memo
SKIP -2
RECNO() &&3
DISP
5.2 表内容的更新
5.2.1 追加记录命令 APPEND
命令格式: APPEND [BLANK]
命令功能:向表的尾部追加记录。
说明:不选 BLANK项时,进入编辑状态;选BLANK项,则自动向表尾部追加一个空记录。
例 5.3 向“学生情况”表输入记录。
在命令窗口用如下命令:
USE 学生情况.dbf
APPEND
5.2.2 插入记录命令INSERT
命令格式: INSERT [BEFORE] [BLANK]
命令功能:在当前记录前或后插入一个记录。
说明: 如指定 BEFORE项,则可在当前记录之前插入记录。否则,在当前记录之后插入记录1。
当指定了BLANK项时,不进入编辑方式,自动插入一个空记录。
例 5.4 在“学生情况”表中,第3号记录之后插入“10008 欧阳晴岚 女04/03/82 .F. 计算机 35.00 Memo”这一个记录。
USE学生情况.dbf
GOTO 3
INSERT
输入记录,如图 5.2所示。
例如,在第 4条记录前插入一条记录:
4
INSERT BEFORE
5.2.3 表文件间追加记录
命令格式: APPEND FROM <文件名>[FIELDS <字段名表>][FOR<条件>]
命令功能:将满足条件的记录追加到当前使用的表文件的尾部。
说明: 若省略FOR<条件>和WHILE<条件>,则将所有的记录追加到当前使用的表文件中。
例 5.5 把“学生情况”表文件中的记录追加到stback表中。
USE stback
LIST
Record# 学号 姓名 性别 出生日期 毕业否 专业 助学金
1 10008 欧阳晴岚 女 04/03/82 .F. 计算机 35.00
2 30005 文 杉 男 03/06/70 .T. 工业会计 30.00
APPEND FROM 学生情况.dbf
LIST
5.2.4 删除表记录
1. 记录的逻辑删除和恢复
(1) 记录逻辑删除命令DELETE
命令格式: DELETE [<范围>] [FOR<条件>]
命令功能:删除表中指定范围内满足条件的记录。当没有任何任选项时,则删除当前记录。
说明:此命令是给待删除的记录打上删除标记 (*)。
(2) 记录恢复操作命令RECALL
命令格式: RECALL [<范围>] [FOR<条件>]
命令功能: 去掉表中指定记录的删除标记(*)。当无任何任选项时,只去掉当前记录的删除标记。
例 5.4 记录的逻辑删除和恢复举例。
USE 学生情况.dbf
DELETE ALL
LIST
RECALL ALL FOR 专业="数学"
GO TOP
RECALL
LIST
2. 记录的物理删除
(1) 记录物理删除命令PACK
命令格式] PACK
命令功能:把表中已经打了删除标记 (*) 的记录真正地从表中清除掉。
(2) 删除全部记录命令 ZAP
[命令格式] ZAP
[命令功能]该命令删除已打开表的所有记录,而且不可恢复,但表结构仍保留,文件仍存在。
例 5.5 记录的物理删除举例(接上例)。
PACK
LIST
ZAP
BROWSE
5.3 修改表记录
5.3.1 浏览命令 BROWSE
命令格式: BROWSE [FIELDS <字段名表>]
命令功能:全屏幕浏览记录。
例 5.7 用 BROWSE命令对“学生情况”表进行修改。
USE 学生情况.dbf
BROWSE
5.3.4 替换命令 REPLACE
该命令是表记录进行有规律修改或替换。当对表文件成批记录的某些字段进行有规律的修改时,用此命令。
命令格式: REPLACE [<范围>] <字段名1> WITH <表达式1>[,<字段名2> WITH <表达式2>…][FOR<条件>]
命令功能:有范围或条件选项,对指定范围内满足条件的那些记录进行替换,当无上述任选项时,对当前记录的进行替换。
说明: <字段> WITH <表达式>的数据类型必须相同,
例 5.8 替换命令使用举例。将第4条记录出生日期改成69年10月8日,助学金减5元。
USE 学生情况.dbf
GO 4
REPLACE 出生日期 with CTOD("10/08/84"), 助学金 with 助学金-5
LIST
REPLACE ALL FOR 毕业否=.T. 助学金 WITH 0
&&将所有毕业生助学金换成0元。
LIST
|