第4章表的操作(2)

更新时间:2023-06-09 10:50:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

visual foxpro课件

4.3数据表的修改数据表的修改包括表结构和表记录的修改,但都需使数 据表处于打开状态。

一、表结构的修改(一般通过表设计器修改表结构)。 1、菜单法在表打开的状态下,选择“显示”菜单的”表设计器”打 开表设计器。

总27页,第1页

visual foxpro课件

2、命令法格式:MODIFY STRUCTURE 功能:用命令方式打开表设计器。 注意:修改表结构可能造成数据的变化或丢失,若改动 了字段宽度或子段类型,VF会自动进行相应字段值的转 换,如果数据被破坏,可从备份文件中恢复数据。

3、SQL命令修改(后续章节介绍)

总27页,第2页

visual foxpro课件

修改字段属性后系统的自动转换方式操作改 变 字 段 类 型 改 变 字 段 宽 度

变 化N,F,I,Y,B → C 数值转换成字符串 C→ N C→ L L→ C D→ C C→ D 增加C型宽度 减小C型宽度

字段字转换结果从左至右转换成数字,直到遇到非数字字符 只认 T和 F,其余形式视为 F 保留 F或 T 日期转换为字符串 只有正确格式才能转换,其余丢失 原字符串后加空格 从右至左截去超宽字符

增加N,F型宽度 无变化 减小N,F型宽度 变为“ * ”号

总27页,第3页

visual foxpro课件

二、修改记录记录定位后,即可对其进行修改。

方法:1.通过菜单方式直接修改记录; 2.命令修改记录数据。

1.菜单方式用“显示”菜单中的“浏览”或“编辑”命令进行数 据修改。

总27页,第4页

visual foxpro课件

2.命令方式 (1)EDIT命令修改格式:EDIT [<范围>][FIELDS<字段名表>][FOR<条

件表达式>] 功能:打开编辑窗口,修改满足条件的记录中指定 字段的数据。例:

USE 学生 EDIT FOR 校总分 EDIT 5

性别=‘男’ FIEL 学号,姓名,性别,入

总27页,第5页

visual foxpro课件

(2) BROWSE(行编辑命令修改)打开一个表后,BROWSE命令的功能与“显示”菜单的“浏览”命令相 同(只是增加了参数),均是打开数据浏览窗口。 格式: BROWSE [<范围 >] [FIELDS<字段名表>] [FOR|WHILE< 条件表达式>]

[LOCK<数字>][FREEZE<字段名>] [LAST] [NOAPPEND][NODELETE] [NOEDIT/NOMODIFY] [NOMENU] [NOREFRESH]总27页,第6页

visual foxpro课件

记录在窗口中的两种显示方式:浏览方式 编辑方式

两种显示方式可以通过“显示”菜单的“浏览”和 “编辑”命令来切换。一个窗口也可以分成两个显 示区域。总27页,第7页

visual foxpro课件

(三)追加记录 1、菜单方式 当表处于浏览状态,可使用“显示”菜单的“追加方 式”以及“表”菜单的“追加新记录”、“追加记录”三 种方法。 三种方法的区别为: 追加方式:在表尾追加一个新记录,完成后系统自动开辟 新记录位置。是一种连续追加方式。 追加新记录:在表尾追加一个新记录,追加第二条记录时 需要重复该命令。 追加记录: 将其它表或OLE对象的数据作为新记录追加在表

尾。等效命令:APPEND FROM

总27页,第8页

visual foxpro课件

2、命令方式格式1:APPEND[BLANK] 功能:在打开表的末尾追加一条或多条记录。 不带选项BLANK时,进入编辑窗口,在已打开的表末尾追 加记录;带该选项时,不进入编辑窗口,直接在表末尾添 加一条空白记录。 格式2: APPEND FROM <文件名> [SDF|DELIMITED|XLS][FOR <条件表达式>][FIELDS <字 段名表>][DELIMITED[WITH <分隔符>|WITH BLANK]] 功能:从其它数据文件中追加符合条件的记录到当前表尾。 说明: (1)源文件可以是表,也可以是系统数据格式、定界格式等 文本文件,不指定类型时,默认是表文件; (2) DELIMITED[WITH <分隔符>]指定字段之间的分隔符。 (3)此命令即“表菜单”的“追加记录”菜单命令。总27页,第9页

visual foxpro课件

(四)成批修改命令(数据替换)格式: REPLACE <字段名1> WITH <表达式1>[, <字段名2> WITH < 表达式2> ] [, <字段名N> WITH <表达式N>[ADDITIVE] ] [<范围>][FOR/WHILE <条件>] 功能:用表达式的值替换相应字段的值。 注: (1)WITH前后的数据类型必须一致; (2)省略范围,默认范围是当前记录(NEXT 1) (3)ADDITIVE用于备注字段的追加,缺省表示替换原内容; (4)该命令可用于行的计算。 例: REPLACE ALL FOR 性别=‘女’入校总分 WITH; 入校总分+5总27页,第10页

visual foxpro课件

(五)记录的插入格式:INSERT [BLANK ] [BEFORE ]功能:在表中指定位置插入记录。 注:

(1)不带参数,直接打开编辑窗口插入新记录; (2)参数BLANK :是插入一条空记录; (3)参数BEFORE : 是在当前记录前插入记录, 否则在后插入。

总27页,第11页

visual foxpro课件

例:在第5条记录前插一条空记录(插入的为第五条记录)USE 学生 GO 5 INSERT BLANK BEFORE BROWSE REPLACE 学号 WITH "20070000",姓名 WITH "古龙",; 性别 WITH“女”,三好生 WITH .T.,入校总分 WITH; 700

总27页,第12页

visual foxpro课件

(六)删除和恢复记录1.删除记录 VFP删除记录分两个步骤: 逻辑删除(加删除标记“*”); 物理删除(彻底删除)。

(1)菜单方式在“浏览”状态,单击要删除记录前面的白色小方 框使变为黑色,表示逻辑删除;

总27页,第13页

visual foxpro课件

通过”表”菜单的”删除记录”命令进行逻辑删除

彻底删除

总27页,第14页

visual foxpro课件

(2)命令方式

格式:DELETE [<范围>][FOR<条件>/WHILE <条件>/] 功能:对满足条件的记录加逻辑删除标记。 说明:1)该命令对满足条件的记录作上删除标记,此时记录仍存在且可以参与数据操 作,如果不希望这样,可使用命令 SET DELE ON 命令将其屏蔽; 2)如果命令不使用任何子句,则只对当前记录作标记。(已打删除标记的记录不 能再进行逻辑删除) 逻辑删除后,用LIST命令显示时,在记录前有一个“*”号。

格式:PACK功能:物理删除加了删除标记的记录,不可恢复

格式:ZAP 功能:删除表中记录,只保留表结构。与执行DELETE ALL和 PACK两条命令等效。

例:DELETE FOR 姓名=‘古龙’ PACK ZAP

(3)与记录删除相关的命令:SET DELE ON|OFF SET SAFETY ON|OFF总27页,第15页

visual foxpro课件

2.恢复逻辑删除的记录 (1)菜单方式“浏览”状态,直接单击删除标记处,可取消删除 标记; “表”菜单“恢复记录”命令,可恢复记录。

总27页,第16页

visual foxpro课件

(2)命令方式格式: RECALL [<范围>][FOR 条件/WHILE 条件]功能:恢复指定范围符合条件的逻辑删除的记录(没

有范围或条件,对当前记录操作)。例:

DELE FOR 性别=‘男’ LIST RECALL FOR 入校总分>=550 LIST

总27页,第17页

visual foxpro课件

4.4表的过滤过滤就是只对部分字段和满足条件的记录进行操作。一、字段过滤

1.命令方式:格式: SET FIELDS TO [<字段名表>| ALL] 功能:限定能参与命令操作的字段。 相关命令:SET FIELDS ON|OFF 功能:决定使用SET FIELDS TO 命令设置的字段表是否有效 (当设置字段过滤器时,自动设置为ON)。

总27页,第18页

visual foxpro课件

2.菜单方式:

总27页,第19页

visual foxpro课件

二、记录过滤:1.命令方式: 格式:SET FILTER TO [<条件>] 功能:按条件过滤记录,屏蔽不满足条件的记录。 说明: 1)所有访问该表的命令都必须遵守 SET FILTER 指定的条件。 2)只有当记录指针在表中移动时,才计算由 SET FILTER 指 定的条件。 3)不带 Expression 发出 SET FILTER TO 命令将关闭当前 表的选择器。 如:SET FILTER TO 性别="女" .AND. year(出生年月)>=1988总27页,第20页

visual foxpro课件

2.菜单方式

总27页,第21页

本文来源:https://www.bwwdw.com/article/s0v1.html

Top