《第四章 表的创建和基本操作.ppt》由会员分享,可在线阅读,更多相关《第四章 表的创建和基本操作.ppt(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、=大纲要求:大纲要求:P1P11 1、表的表的概念概念2 2、表的建立、显示、修改与复制、表的建立、显示、修改与复制 1 1)表与表结构的建立、显示、修改和复制;)表与表结构的建立、显示、修改和复制;2 2)记录的定位、显示、增加、删除、修改与记录的定位、显示、增加、删除、修改与复制;复制;3 3)逻辑表的设置)逻辑表的设置 (1 1)记录过滤器;记录过滤器;(2 2)字段过滤器字段过滤器3 3、表中数据与数组的传递、表中数据与数组的传递第四章第四章 表的创建和基本操作表的创建和基本操作 第四章第四章 表的创建及基本操作表的创建及基本操作 数据表的创建数据表的创建 数据表的维护数据表的维护4
2、4.1.3.1.3 数据表文件的打开、关闭、显示和数据表文件的打开、关闭、显示和数据表文件的打开、关闭、显示和数据表文件的打开、关闭、显示和定位定位定位定位4 4.1.2.1.2 表数据的输入表数据的输入表数据的输入表数据的输入4 4.1.1.1.1 创建数据表创建数据表创建数据表创建数据表4.1 4.1 数据表的创建数据表的创建1.数据表结构的定义数据表结构的定义(1)文件名:表文件的主要标识(表名)文件名:表文件的主要标识(表名)(2)结构:字段名、类型、宽度等(列)结构:字段名、类型、宽度等(列)(3)记录:表文件的基本数据(行)记录:表文件的基本数据(行)2.数据表的创建数据表的创建(
3、1)命令方式:)命令方式:CREATE(2)表设计器表设计器(3)表向导)表向导4.1.1 创建数据表创建数据表3.字段类型及命名字段类型及命名4.1.1 4.1.1 创建创建数据表数据表(1)字段名:必须以字母或汉字开头,可以包括字母、汉)字段名:必须以字母或汉字开头,可以包括字母、汉字、数字和下划线,不要超过字、数字和下划线,不要超过10个字符。个字符。(2)字段类型:共)字段类型:共10种。种。(3)字段宽度:不同类型的字段具有不同的宽度。)字段宽度:不同类型的字段具有不同的宽度。(4)小数位:数值型数据需要规定小数位数。)小数位:数值型数据需要规定小数位数。(5)使用)使用NULL值:
4、可以指定字段是否接受值:可以指定字段是否接受NULL值,它值,它是一个不存在的值。是一个不存在的值。例:姓名、例:姓名、XB、班级班级BJ、班级班级2、班级、班级_2 _XM、2班、班、“成绩成绩”、班级:姓名、班级:姓名1.创建数据表时输入数据创建数据表时输入数据2.使用浏览窗口追加数据使用浏览窗口追加数据备注型字段与通用型字段内容的输入:双击鼠标左键,进备注型字段与通用型字段内容的输入:双击鼠标左键,进入相应的编辑窗口进行输入。入相应的编辑窗口进行输入。命令格式:命令格式:BROWSE3.添加记录添加记录命令格式:命令格式:APPEND BLANK4.插入记录插入记录命令格式:命令格式:I
5、NSERT BEFORE BLANK4.1.2 4.1.2 表数据的输入表数据的输入1.数据表文件的打开与关闭数据表文件的打开与关闭命令格式:命令格式:USE Exclusive|SharedExclusive:表示以独占方式打开,表可读可写。表示以独占方式打开,表可读可写。Share:表示以共享方式打开,能读不能修改。表示以共享方式打开,能读不能修改。缺省为缺省为Share方式。方式。例:例:USE 学生情况表学生情况表.DBF 关闭:关闭:USE|CLOSE ALL|CLOSE 2.数据表文件的显示数据表文件的显示格式:格式:LIST STRUCTURE 或或 DISPLAY STRUCT
6、URE 例:例:USE 学生情况表学生情况表 LIST STRU(1)结构的显示)结构的显示4.1.3 4.1.3 数据表文件的打开、关闭、显示和定位数据表文件的打开、关闭、显示和定位 注意:若数据表文件不注意:若数据表文件不在当前路径下,文件名在当前路径下,文件名前应添加路径,或者用前应添加路径,或者用set default to 命令设置命令设置默认路径。默认路径。格式:格式:LIST/DISPLAY OFF FIELDS WHILE FOR(2)记录的显示)记录的显示 例:例:USE 学生情况表学生情况表 LIST OFF FOR 性别性别=“女女”LIST FIELDS 学号学号,姓名
7、姓名,性别性别 DISP ALL记录指针:用来指示表文件中记录位置的指针。记录指针:用来指示表文件中记录位置的指针。当前记录:指针当前所指向的记录。当前记录:指针当前所指向的记录。3.记录指针的定位记录指针的定位(1)指针的绝对移动命令)指针的绝对移动命令格式:格式:GO/GOTO RECORD GO/GOTO TOP/BOTTOM 例:例:USE 学生情况表学生情况表 GO 3 DISP GOTO RECO 5 DISP GO TOP DISP(2)指针的相对移动命令)指针的相对移动命令格式:格式:SKIP+/-例:例:USE 学生情况表学生情况表 DISP SKIP DISP SKIP 3
8、 DISP SKIP-2 DISP SKIP 6 DISP注意:若表中有注意:若表中有N条记录条记录记录号记录号 位置位置1 文件头文件头21 首记录首记录2 第第二二条记录条记录3 第三条记录第三条记录45N 尾记录尾记录6N+1 文件尾文件尾4.2 4.2 数据表的维护数据表的维护4 4.2.1.2.1 数据表结构的修改数据表结构的修改数据表结构的修改数据表结构的修改4 4.2.2.2.2 显示和编辑数据表中的数据显示和编辑数据表中的数据显示和编辑数据表中的数据显示和编辑数据表中的数据4 4.2.3.2.3 删除数据表中的记录删除数据表中的记录删除数据表中的记录删除数据表中的记录4 4.2
9、.4.2.4 文件的目录显示、复制、删除与更名文件的目录显示、复制、删除与更名文件的目录显示、复制、删除与更名文件的目录显示、复制、删除与更名4 4.2.5.2.5 数组与数据表之间的数据交换数组与数据表之间的数据交换数组与数据表之间的数据交换数组与数据表之间的数据交换4.2.1 4.2.1 数据表结构的修改数据表结构的修改格式:格式:MODIFY STRUCTURE示例:示例:USE 学生情况表学生情况表 MODI STRU4.2.2 4.2.2 显示和编辑显示和编辑数据表中的数据数据表中的数据格式:格式:BROWSE FIELDS LOCK FREEZE NOMENU NOAPPEND N
10、OMODIFY WIDTH FOR PARTITION LEDIT REDIT NOLINK1.浏览修改命令浏览修改命令BROWSE 例:例:USE 学生情况表学生情况表 BROWSE FIELDS 学号学号,姓名姓名,性别性别,入校总分入校总分 BROWSE FREEZE 入校总分入校总分&只能修改入校总分只能修改入校总分 BROWSE NOAPPEND BROWSE NOMENU BROWSE FOR 性别性别=“男男”BROWSE NOMODIFY1.浏览修改命令浏览修改命令BROWSE2.CHANGE/EDIT命令命令格格式式:CHANGE/EDIT FIELDS WHILE FOR
11、例:例:USE 学生情况表学生情况表.DBF CHANGE FIELDS 姓名姓名,性别性别3.REPLACE命令命令格格式式:REPLACE WITH ADDITIVE,WITH ADDITIVE FOR WHILE 例:例:USE 学生情况表学生情况表.DBF GO 6 DISP REPLACE 姓名姓名 WITH 李李 青青,性别性别 WITH 男男 DISP缺省缺省范围和条件,范围和条件,只对当前纪录修改只对当前纪录修改4.修改通用型字段修改通用型字段格格 式式:MODIFY GENERAL NOMODIFY NOWAIT4.2.3 4.2.3 删除数据表中的记录删除数据表中的记录1.
12、逻辑删除数据表中的数据逻辑删除数据表中的数据格式:格式:DELETE WHILE条件条件 FOR条件条件说明:说明:SET DELETE ON(直接不显示被删除的记录)直接不显示被删除的记录)/OFF(出出现删除标记)现删除标记)例:例:USE 学生情况表学生情况表.DBF GO 6 DELETE LIST SET DELETE ON LIST2.恢复数据表中逻辑删除的数据恢复数据表中逻辑删除的数据格式:格式:RECALL FOR WHILE 例:例:USE 学生情况表学生情况表.DBF GO 6 DELETE DISP GO 6 RECALL&缺省选项只恢复当前记录缺省选项只恢复当前记录 D
13、ISP菜单菜单:表:表3.物理删除数据表中的数据物理删除数据表中的数据格式:格式:PACK&删除带删除标记的记录删除带删除标记的记录4.删除数据表中的所有记录删除数据表中的所有记录格式:格式:ZAP&保留表结构保留表结构说明:说明:SET SAFETY ON/OFF(确认对话框的出现与否)确认对话框的出现与否)4.2.44.2.4文件文件的的目录显示、复制、删除与更名目录显示、复制、删除与更名1.文件目录的显示命令文件目录的显示命令格式:格式:DIR/DIRECTORY 例例:DIR DIR*.PRG DIR C:*.*1)1)表结构的复制表结构的复制 本命令在表打开的情况下进行。本命令在表打
14、开的情况下进行。格式:格式:COPY STRUCTURE TO COPY STRUCTURE TO 新文件名新文件名 FIELDSFIELDS 复制复制 结构结构 到到 字段字段 例:例:USE USE 学生情况表学生情况表.DBF COPY STRUCTURE TO COPY STRUCTURE TO 学生表学生表1 1 FIELDS FIELDS 学号,姓名,性别学号,姓名,性别 USE USE 学生表学生表1 1 LIST STRUCTURELIST STRUCTURE命令功能:命令功能:将当前表文件中的结构的部分或全部复制到新文件中。将当前表文件中的结构的部分或全部复制到新文件中。新文
15、件中只有结构,没有数据记录。新文件中只有结构,没有数据记录。2.表及表结构的复制表及表结构的复制 2)2)表的复制表的复制 (结构记录)(结构记录)本命令在表打开的情况下进行。本命令在表打开的情况下进行。格式:格式:COPY TO COPY TO 新文件名新文件名 FIELDSFIELDS FOR/WHILE FOR/WHILE 范围范围 例:例:USE 学生情况表学生情况表.DBF COPY TO 学生表学生表2 FOR 性别性别=“男男”命令功能:命令功能:将当前表文件中满足条件的记录按指定字段复制到新文件中。将当前表文件中满足条件的记录按指定字段复制到新文件中。新文件必须用新文件必须用
16、USE USE 命令打开后,才能使用命令打开后,才能使用。表及表结构的复制表及表结构的复制 3)3)任意文件的复制任意文件的复制 本命令在表本命令在表关闭关闭的情况下进行。的情况下进行。格式:格式:COPY FILE COPY FILE TO TO 新文件名新文件名.扩展名扩展名例:例:COPY FILE 学生情况表学生情况表.DBF TO 学生表学生表.DBF COPY FILE 学生情况表学生情况表.FPT TO 学生表学生表.FPT命令说明:命令说明:文件名可以带通配符文件名可以带通配符*(任意长任意字符)和?(一个任意(任意长任意字符)和?(一个任意非汉字符号)非汉字符号)。表及表结构
17、的复制表及表结构的复制 P33.文件的更名文件的更名格式:格式:RENAME TO 例:例:RENAME E:VFP例题例题学生表学生表.DBF TO 学生名单学生名单.DBF RENAME E:VFP例题例题学生表学生表.DBF TO 学生名单学生名单.FPT4.文件的删除文件的删除格式:格式:ERASE/?或或 DELETE FILE/?例:例:ERASE ERASE 学生表学生表1.1.DBF&DBF&不要忘了后缀名不要忘了后缀名.DBFDBF DELETE FILE DELETE FILE 学生名单学生名单.DBFDBF 5.从另外的数据表中向当前表文件添加记录从另外的数据表中向当前表
18、文件添加记录格式:格式:APPEND FROM APPEND FROM FIELDS FIELDS WHILE WHILE FOR FOR 例:例:USE USE 学生表学生表 COPY STRU TO COPY STRU TO 学生表学生表3 3 USE USE 学生表学生表3 3 APPEND FROM APPEND FROM 学生表学生表 for for 性别性别=男男 list 4.7 表的过滤表的过滤过滤器分类:记录过滤器和字段过滤器过滤器分类:记录过滤器和字段过滤器1、记录过滤:、记录过滤:命令命令 SET FILTER TO 菜单菜单打开表打开表显示显示浏览浏览表表属性属性工作区
19、属性工作区属性 说明说明 缺省条件表取消所设置的过滤器缺省条件表取消所设置的过滤器例:例:USE 学生表学生表 SET FILTER TO 入校总分入校总分=550 LIST/BROW SET FILTER TO LIST/BROW2、字段过滤:、字段过滤:命令命令 SET FEILDS TO|ALL SET FIELDS ON|OFF 菜单菜单打开表打开表显示显示浏览浏览表表属性属性工作区属性工作区属性字段筛选指定的字段字段筛选指定的字段字段筛选字段筛选字段选择器字段选择器例:例:USE 学生表学生表 SET FIELDS TO 学号,姓名,学号,姓名,性别性别 LIST/BROW SET
20、FIELDS OFF LIST/BROW 1 1、表数组、表数组 当前表应先打开当前表应先打开 命令格式命令格式:SCATTER SCATTER FIELDS FIELDS TO TO /memvarmemvar将当前记录指定字段的值赋予数组或内存变量将当前记录指定字段的值赋予数组或内存变量。VfpVfp会会自动建立或自动建立或扩大数组。扩大数组。常规用法:常规用法:DIME A(1)DIME A(1)USE USE 学生情况表学生情况表 GO GO 3 3 SCAT SCAT 学号,姓名,性别,入校总分学号,姓名,性别,入校总分 TO ATO A?A(1),A(2),A(3),A(4)?A(
21、1),A(2),A(3),A(4)go 6go 6 scat to b scat to b?b(1),b(3),b(7)?b(1),b(3),b(7)4.8.1 数组和表之间的数据交换数组和表之间的数据交换 2 2、数组表、数组表 当前表应先打开当前表应先打开 命令格式命令格式:GATHER FROM GATHER FROM FIELDS FIELDS 将数组值依次赋予当前记录指定字段。将数组值依次赋予当前记录指定字段。例:例:use use 学生表学生表 go 3go 3 disp disp dime x(3)dime x(3)x(1)=“a”x(1)=“a”x(2)=b x(2)=b x(
22、3)=c x(3)=c gather from x gather from x disp disp4.8.1 数组和表之间的数据交换数组和表之间的数据交换 4.8.2 多记录和数组之间的数据交换多记录和数组之间的数据交换1、一批表记录、一批表记录数组数组 COPY TO ARRAYFIELDS FORWHILE说明:若数组事先定义,该命令不会扩大数组;若数组不存说明:若数组事先定义,该命令不会扩大数组;若数组不存在,在,vfp会会自动建立满足长度的数组自动建立满足长度的数组 Use 学生学生Dime xs1(3,2)Copy to array xs1 field 姓名,性别,入校总分姓名,性别
23、,入校总分 for not 三好生三好生&满足条件的记录有满足条件的记录有8个,但仅可复制个,但仅可复制3个记录到数组个记录到数组?xs(1,1),xs(1,2),xs(2,1),xs(2,2),xs(3,1),xs(3,2)copy to array xs2 for 三好生&满足条件的记录有2个,自动建立2行8列的二维数组?xs2(1,2),xs2(1,6),xs2(2,2),xs2(2,6),xs2(12)2、从数组向、从数组向表追加记录表追加记录 APPEND FROM ARRAY FORFIELDS说明:忽略备注型字段说明:忽略备注型字段例:例:USE USE 学生表学生表COPY TO array COPY TO array xsxs3 3 fiel fiel 姓名,性别,入校总分姓名,性别,入校总分 for for 性别性别=男男COPY TO COPY TO nxs nxs fiel fiel 姓名,性别,入校总分姓名,性别,入校总分 for for 性别性别=女女USE USE nxsnxslistlistAPPEND FROM array xs3APPEND FROM array xs3listlist