2010VFP计算机二级复习 下载本文

条件定位 按顺序搜索表, 直到LOCATE FOR <条找到满足指定条件的默认范围是所有记录 件> [ 范围 ] 第一个记录

4. 记录的修改和删除

一张表用非只读方式打开后,即可通过菜单在浏览窗口(或编辑窗口)中或从命令窗口中用命令直接对其记录进行编辑、修改和删除。 (1) 菜单方式(会操作) 修改记录:

从表菜单中选择替换字段? → 在替换字段对话框中选择待替换的字段并构造出替换表达式及替换条件 → 替换。 删除记录:

从表菜单中选择删除记录 → 在删除对话框中选择删除范围和删除条件 → 单击删除按钮 → 从表菜单中选择彻底删除 → 在消息框中单击是。 删除记录包括两步: 标记要删除的记录 和 彻底删除带删除标记的记录 恢复带删除标记的记录:

从表菜单中选择恢复记录 → 在恢复记录对话框中选择作用范围和条件 → 单击恢复记录按钮。

(2) SQL命令方式 (表事先可以不打开,适用于编程工作方式)(记忆) 修改记录: 用 UPDATE-SQL 命令。

命令格式: UPDATE <表名> SET 字段1 = 表达式1 [,字段2 = 表达式2 ?]; WHERE 条件表达式

例: UPDATE xscj SET cj = cj*1.05 WHERE cj>80 删除记录: 用 DELETE-SQL 命令。

命令格式: DELETE FROM <表名> [WHERE 条件表达式] 例: DELETE FROM xscj WHERE cj<60

25

(3) 在命令窗口中用VFP命令:(命令记住)

命令格式

功能

备注

BLANK :在当前记录后插

在当前表的指

入一个空记录

定位置上插入

插入 INSERT [BLANK][BEFORE]

一个空记录或

BEFORE :在当前记录之

若干新记录

前插入若干新记录

CHANGE [FIELDS 字段名在编辑窗口显LEDIT:调出编辑窗口 修改 1,?][FOR 条件] [LEDIT] 示要修改的字

REDIT:调出浏览窗口 [REDIT] 段

把字段值用指默认范围是当前记录

REPLACE 字段名1 WITH 表达式1

定的表达式进

[ADDITIVE][, 字段名2 WITH 表

把备注字段的替替换 行替换。如: 工ADDITIVE:

达式2[ADDITIVE] ?] [范围]

资单中给某些换内容添加在原备注内

[FOR 条件]

容的后面 人长工资

对当前表中指定范围内满足

DELETE [ 范围 ][FOR 条件] 默认范围是当前记录

条件的记录加上删除标记 *

将所有带删除DBF:不影响备注文件

删除 标记的记录从

PACK [MEMO][DBF]

表中抹去(不能MEMO:从备注文件中删除

未使用空间 再恢复)

删除当前表中相当于

ZAP 所有记录,只留

下表的结构 DELETE ALL + PACK 取消当前表中

恢复 RECALL [ 范围] [FOR 条件] 指定记录上的默认范围是当前记录

删除标记 5. 筛选记录和字段 (1) 用菜单方式

从表菜单中选择属性 → 在工作区属性对话框中单击数据过滤器框后的按钮 → 在表达式生成器对话框中构造所需的条件表达式并确定 → 单击字段筛选?按钮 →在字段筛选器中选择所需字段并确定 → 单击选项按钮:字段筛选指定的字段 → 确定。 (2)用命令方式

命令格式: SET FILTER TO 条件表达式 例: SET FILTER TO xb ='男'

26

注意:SQL命令对记录的访问不受此筛选命令的限制。

3.4 表的使用(全部记忆)

1. 工作区 工作区:

指用来标识一张打开的表的区域。一个工作区在某一时刻只能打开一张表,但可以同时在多个工作区打开多张表,一张可以在多个工作区中多次被打开。每个工作区都有一个编号。 表的别名:

在工作区中打开表时为该表所定义的名称。可以自定义别名,否则系统默认就以表名作为别名。若一张表在多个工作区中被打开,系统默认在表名后依次加_a 、_b?。

自定义别名的格式: USE <表名> ALIAS <别名> 当前工作区:

正在使用的工作区。可以通过“数据工作期窗口”或用 SELECT命令把任何一个工作区设置为当前工作区。

SELECT 命令格式: SELECT <工作区号>|<别名>

要操作非当前工作区中的表,可以把其它工作区选为当前工作区,或在命令中强行指定工作区。

命令格式: IN <工作区号>|<别名> ALIAS([工作区号])函数:

测试指定工作区中的表的别名,无参数时指当前工作区表的别名。 SELECT([别名])函数:

测试指定别名的表所在的工作区号,无参数时指当前工作区的区号。 2. 表的打开和关闭

打开表的途径 关闭表的途径

工具栏上的打

文件菜单中的打开 数据工作期窗口中关闭 USE

数据工作期窗口中USE <表名> USE IN <别名>|<工作区CLOSE ALL

27

打开

USE <表名> IN <工USE <表作区号> 名>AGAIN USE <表名> ALIAS <别名> 3. 表的独占与共享使用

号>

CLOSE DATABASE

CLOSE TABLE

退出VFP系统,则关闭所有的表

独占使用: 一张表只能被一个用户打开。VFP6.0在默认状态以独占方式打开。 共享使用: 一张表可以被多个用户同时打开。

系统的默认打开方式可以通过工具菜单中的选项?来设置,或 用命令: SET EXCLUSIVE OFF && 默认打开方式为共享 SET EXCLUSIVE ON && 默认打开方式为独占

或强行打开:USE cj SHARED && 以共享方式打开cj表 USE cj EXCLUSIVE && 以独占方式打开cj表 4. 利用缓冲访问表中的数据 数据缓冲:

先将对表记录的修改存放在缓冲区中,用户决定是否用缓冲区中的数据更新表文件。它是VFP6.0在多用户环境下用来保护对表记录所做的数据更新和数据维护操作的一种技术。 数据缓冲的类型: 记录缓冲:

当记录指针移动或关闭表时,缓冲区自动更新表中的相应记录。 表缓冲:当发出更新表的命令或关闭表时更新表。 缓冲锁定方式:有两种:开放式 和 保守式。

3.5 表的索引(概念理解,类型记忆)

1. 基本概念 记录的顺序 :

物理顺序:即表中记录的存储顺序。用记录号表示。

28