教 学 大 纲
  授 课 教 案
  CAI 课 件
  实 验 指 导
  习   题
  课 程 试 卷
  参 考 资 料
 
第 5 章 表记录的编辑与维护

目的要求 掌握 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

 

 

版权所有 © 2006-2007 沈阳大学信息工程学院 计算机基础教研室