3.3 表记录的处理
1. 记录的输入
(1) 立即输入方式:
设计好表的结构后,系统会提示是否直接进入数据输入状态。若选是,则进入编辑窗口,输完后单击“X”按钮退出,系统自动存盘。需输入备注型或通用型字段的数据时,双击“memo” 或“gen”,在新打开的编辑窗口中输入所需内容,输完后单击“X”按钮系统自动存盘,退回到原窗口 ,此时字段中的“memo” 或“gen”变成“Memo” 或“Gen”。
(2) 追加方式:
若设计好表的结构后并没有及时输入数据,则可以用追加方式:
从文件菜单中(或从命令窗口中输入:USE 表文件名) 打开所需表文件 → 从显示菜单中选择浏览 → 再从显示菜单中选择追加方式 → 在浏览窗口中输入所需记录。
不同追加方式适用的场合
追加记录的方式 |
适用的场合 |
显示菜单中的追加方式 |
在现有数据表的尾部添加一个或多个新记录 |
表菜单中的追加新记录 |
在现有数据表的尾部添加一个新记录 |
表菜单中的追加记录… |
从其它数据表中将符合要求(字段名和字段类型相同)的记录添加在当前数据表的尾部 |
APPEND [BLANK] |
在当前表的末尾自动添加一个或多个新记录。相当于显示菜单中的追加方式。有BLANK时添加一个空记录,相当于表菜单中的追加新记录。 |
APPEND FROM 表文件名 [FIELDS 字段名1,字段名2 …][FOR 条件 ] |
从其它数据表中将符合要求(字段名和字段类型相同)的记录添加在当前数据表的尾部。相当于表菜单中的追加记录…。 |
APPEND FROM 文本文件名 SDF |
将符合要求的文本文件全部追加在当前数据表的尾部。 注意:文本内容要与表中的字段结构相适应。 |
文件菜单中的导入 |
将其它类型的文件转换成一个完整的VFP数据表。 |
(3) 使用INSERT-SQL命令
该命令的一般格式为:
INSERT INTO <表名>[(字段名1[,字段名2 …])] VALUES (表达式1[,表达式2 …])
例:INSERT INTO xscj(xh,xm,cj) VALUES ("81991001", "张良", 85.5)
2. 记录的浏览
(1) 通过浏览窗口
(2) 通过BROWSE 命令
BROWSE命令用来打开表的浏览窗口,可通过不同的子句来实现对特定记录的浏览。
VFP命令中的常用子句
1) 范围子句
子句格式 |
功能 |
ALL |
表示对表文件的全部记录进行操作 |
NEXT n |
表示对从当前记录开始的共n个记录进行操作, n为正整数 |
RECORD n |
指明操作对象是表文件的第n号记录 |
REST |
对从当前记录起到文件结尾的全部记录进行操作 |
2) FOR子句
用于指明进行操作的条件。
格式: FOR <条件>
指明只对指定范围中那些符合给定条件的进行当前操作。
例如: list NEXT 6 FOR cj < 85
3) WHILE 子句
也用于指明进行操作的条件。
格式: WHILE <条件>
例如: list NEXT 6 WHILE cj < 85
4) FIELDS 子句
用于指明当前的操作涉及到表文件的哪些字段。
格式:BROWSE [ FIELDS 字段名1,字段名2……]
例如:BROWSE FIELDS xh,xm,cj
3. 记录的定位
(1) 系统对记录的三个控制标志
记录开始标志:位于第一个记录之前。其值用函数BOF()进行测试。
记录指针标志:指向当前记录。其值用函数RECNO()进行测试。
记录结束标志:位于最后一个记录之后。其值用函数EOF()进行测试。
记录指针可以理解为保存当前记录号的变量,它的初始值总是1,不可能为0或负数,最大值是表中记录总数+1。
刚打开表时记录指针的情况
表中记录情况 |
BOF()的值 |
RECNO()的值 |
EOF()的值 |
无记录 |
.T. |
1 |
.T. |
有记录 |
.F. |
1 |
.F. |