《visualfoxpro程序设计》第3章表的基本操作

上传人:ji****n 文档编号:54464000 上传时间:2018-09-13 格式:PPT 页数:52 大小:541.50KB
返回 下载 相关 举报
《visualfoxpro程序设计》第3章表的基本操作_第1页
第1页 / 共52页
《visualfoxpro程序设计》第3章表的基本操作_第2页
第2页 / 共52页
《visualfoxpro程序设计》第3章表的基本操作_第3页
第3页 / 共52页
《visualfoxpro程序设计》第3章表的基本操作_第4页
第4页 / 共52页
《visualfoxpro程序设计》第3章表的基本操作_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《《visualfoxpro程序设计》第3章表的基本操作》由会员分享,可在线阅读,更多相关《《visualfoxpro程序设计》第3章表的基本操作(52页珍藏版)》请在金锄头文库上搜索。

1、第 3 章 表的基本操作,3.1 表的建立和修改 3.2 表的维护命令 3.3 表数据的替换 3.4 表的设置,3.1 表的建立和修改,表的建立和修改各分两部分进行,即分别是表结构与表数据。新建一张表不仅要有表的结构,且表中也要有具体数据。表的修改也是一样,不仅可对表的结构进行修改,也可对表中的数据进行修改。 3.1.1 建立表 1设计表的结构人们在工作、学习和生活中经常遇到二维的表格,表3-1所示的学生信息表就是一个二维表。,表3-1 学生信息表,表由结构和数据两部分组成。 建立表结构就是定义各个字段的属性,基本的字段属性由四部分组成,称为字段四要素。包括字段名、字段类型、字段宽度和小数位数

2、。 (1)字段名 字段名用来标识字段,它是一个以字母或汉字开头,长度不超过10的字母、汉字、数字和下划线序列。表名的命令规则随操作系统而定。 (2)字段类型与宽度 字段类型、宽度及小数和位数属性都用来描述字段值,表3-2列出了字段的数据类型与宽度。,(3)小数位数,表3-3 学生成绩表,表3-4 学生成绩表的结构,2建立与修改表结构的命令VFP中建立任何文件都可以通过3种方式:菜单方式、命令方式和项目设计器建立。,(1)表结构的建立命令格式: CREATE TABLE (,),) 功能:建立一个由表示的表,表中含有指定的字段。例3-1 建立学生成绩表stu_gra.dbf。 CREATE TA

3、BLE stu_gra(学号C(8),姓名C(6),VFP N(5,1),高等数学N(5,1),英语N(5,1)LIST STRUCTURE &主屏幕显示stu_gra.dbf的结构LIST &主屏幕显示所有记录,图3.1 学生成绩表stu_gra.dbf,图3.2 “新建”窗口,图3.3 “项目管理器”窗口,图3.4 “字段”选项卡,(2)表结构的修改 命令格式: ALTER TABLE ADD | ALTER COLUMN, ALTER TABLE DROP COLUMN | RENAME COLUMNTO 功能:修改 表示的表的结构。,3表数据的输入建立表结构后若要立即输入数据,就会出现

4、记录编辑窗口,如图3.5所示。此时窗口中各字段的排列次序及字段名右侧的文本区宽度都与表结构定义相符。,图3.5 记录编辑,(1)数据输入要点 (2)编辑窗口的打开和关闭 4表的打开和关闭 (1)打开表打开表有多种方法,可以用命令打开,也可由菜单和项目管理器打开。 命令格式: USEEXCLUSIVE|SHARE 功能:在当前工作区中打开或关闭表。表打开时,若该表有备注型或通用型字段,则自动打开同名的.FPT文件。,图3.6 以菜单方式打开表,(2)关闭表 可用以下命令来关闭表。,图3.7 以项目管理器方式打开表,3.1.2 修改表数据表的修改和建立表大致相同,分为表结构的修改和表记录的修改。

5、1表结构的修改 命令方式: 命令格式:MODIFY STRUCTURE 功能:修改当前表的结构。 2表数据的修改 (1)命令格式:EDIT (2)命令格式:BROWSE,图3.8 BROWSE浏览式修改窗口,3.2 表的维护命令,3.2.1 记录指针的移动VFP采用一个记录指针指向一条记录的方式。记录定位就是将记录指针指向某一条记录,指针所指向的这一条记录称为当前记录,用RECNO()函数可以取出当前表中当前记录的记录号。当表打开时,记录指针总是指向第一个记录。只有利用记录指针的移动才能对记录中的数据进行读取。,1记录绝对移动命令 命令格式1: GO TO TOP | BOTTOM 命令格式2

6、: GOTO 2记录相对移动命令 命令格式: SKIP 功能:从当前记录开始移动记录指针,表示移位记录的个数。,3.2.2 添加记录向表中添加记录有两种方式,它们分别是插入记录和追加记录。插入记录就是在当前记录的前后插入一条新记录。追加记录就是在表的最后记录的后面追加一条新记录。 1记录的插入 命令格式: INSERT BLANKBEFORE,该命令有以下4种变化形式。 INSERT 功能:在当前记录的后面插入一条新的记录,并立即进入记录编辑窗口,等待用户输入记录数据。 INSERT BEFORE 功能:在当前记录的前面插入一条新的记录,并立即进入记录编辑窗口,等待用户输入记录数据。 INSE

7、RT BLANK 功能:在当前记录的后面插入一条空白记录,不进入记录编辑窗口。 INSERT BEFORE BLANK 功能:在当前记录的前面插入一条空白记录,不进入记录编辑窗口。,2记录的追加 INSERT命令可以在表的任意位置插入新记录,但若要在表尾追加新记录则需先将记录指针移到末记录,下面的命令都可直接在表尾追加记录。 (1)INSERT-SQL命令 命令格式一: INSERT INTO 表名(字段名1,字段名2,)VALUES(表达式1,表达式,) 功能:在表尾追加一个新记录,并直接输入记录数据。,(2)APPEND命令 APPEND命令也可在表尾追加记录,但它只可追加空白记录或以交互

8、方式填写记录数据。 命令格式一: APPEND BLANK (3)APPEND FROM命令 该命令用于追加成批记录。 命令格式: APPEND FROMFIELDSFOR;TYPEDELIMITEDWITH|WITH TAB|SDF|XLS 功能:在当前表末尾追加一批记录,这些记录来自于另一文件。,例3-2 设stu_gra.dbf是只有结构而无记录的表,现需将表stu_info.dbf中所有记录的学号和姓名字段的值追加到表stu_gra.dbf中。 *stu_info.dbf中5个记录的2个字段值追加到stu_gra.dbf的末尾。 APPEND FROM stu_info FIELDS

9、学号,姓名,例3-2 设stu_gra.dbf是只有结构而无记录的表,现需将的文本文件stu_info.txt的记录添入stu_gra.dbf的末尾,如图3.9所示。 USE stu_gra APPEND FROM STU_INFO SDF &stu_info.txt是系统数据格式的文本文件,图3.9 标准纯文本文件,3.2.3 记录的删除和恢复删除记录有两种形式。第一种是逻辑删除,分为两步:在要删除的记录上先加注删除标记,确定要删除时再用PACK命令将带有删除标记的记录在表中进行物理删除操作。如果带有删除标记的记录中有些记录还有用,还可以将这些有用记录的删除标记去除。无论界面操作还是命令方式

10、都是一样的。,1逻辑删除记录命令 命令格式: DELETEFORWHILE 功能:对当前表在指定内满足的记录加上逻辑删除标记。若缺省,则默认为当前记录。,2物理删除记录命令 命令格式: PACK 功能:将带有逻辑删除标记的记录物理上进行删除操作。删除后不可恢复。 如需物理删除,可连用DELETE和PACK命令: USE stu_gra DELETE ALL FOR 英语 60 & 为所有英语成绩不及格的记录加上逻辑删除标记 PACK & 物理上删除带有逻辑删除标记的记录 LIST,3恢复记录命令记录的恢复是指去掉记录前的逻辑删除标记,但已被物理删除的记录是不可恢复的。 命令格式:RECALLF

11、ORWHILE功能:对当前表在指定内满足的记录去掉逻辑删除标记。若缺省,只恢复当前记录。,4记录清除命令 命令格式: ZAP 功能:删除当前表中的所有记录。 执行ZAP命令相当于执行DELETE ALL和PACK两条命令。,3.2.4 表的复制 对已有的表进行复制可以得到它的一个副本,是保护数据安全的措施之一。 1复制任何文件 命令格式: COPY FILE TO 文件 功能:从文件复制得到文件。,2从表复制出表或其他类型的文件 命令格式: COPY TO FORWHILEFIELDS|FIELDS LIKE |FIELDS EXCEPTTYPESDF|XLS|DELIMITEDWITH|WI

12、TH BLANK|WITH TAB 功能:将当前表中选定的部分记录和部分字段复制成一个新表或其他类型的文件。,例3-3 复制表示例。 USE stu_gra *对stu_gra.dbf原样复制,同时生成stu_gra1.dbf与stu_gra1.fpt COPY TO stu_gra1 *从stu_gra.dbf中抽出两个字段,生成stu_gra2.dbf COPY TO stu_gra2 FIELDS学号,姓名 例3-4 以系统数据格式将stu_gra.dbf的前2个记录复制到文本文件。 USE stu_gra COPY TO stu_gra1 NEXT 3 SDF &以系统数据格式复制,产

13、生文本文件stu_gra1.txt TYPE stu_gra1.txt &用TYPE 命令显示文本文件stu_gra1.txt的内容,从例3-4中可知,系统数据格式文件中的记录都是定长的且以回车符结尾;数据之间无分隔符,数据也无定界符;记录中每个字段的宽度固定,字段数据不足宽度时,数值型字段置前导空格,字符型字段则后补空格;日期型字段改变为yyyymmdd的形式,逻辑型字段两侧的圆点被去除,备注型和通用型字段被舍弃。 若例中COPY命令的SDF改为XLS,将产生文件stu_gra1.xls。该文件在Excel中打开后与VFP表显示形式一致。 若例中COPY命令的SDF改为DELIMITED,将

14、产生文件stu_gra2.txt,用TYPE命令显示如图3.10所示。,图3.10 非标准纯文本文件,3复制表的结构 命令格式: COPY STRUCTURE TO FIELDS 功能:仅复制当前表的结构,不复制其中的数据。若使用FIELDS选项,则新表的结构中只包含其指明的字段,同时也决定了这些字段在新表中的排列次序。 例如: USE stu_gra COPY STRUCTURE TO stu_gra2 FIELDS 学号,姓名,VFP,高等数学,英语,4其他文件操作命令VFP除能复制各类文件外,还提供文件改名、删除和显示等功能,有关命令如表3-6所示。,表3-6 文件改名、删除和显示命令,

15、3.3 表数据的替换,3.3.1 成批修改数据在浏览窗口中修改数据必须由用户键入修改值,而REPLACE命令能直接将字段值用指定表达式的值来替换。因此在程序设计中常使用该命令。 命令格式: REPLACEWITHADDITIVE,WITHADDITIVEFORWHILE 功能:在当前表的指定记录中,将有关字段值用相应的表达式来替换。若与等选项都缺省,只对当前记录的有关字段进行替换。,3.3.2 记录与数组间的数据传送在VFP中,数组元素值或内存变量值能传送到表内以替代记录中的数据,反之也能将记录中的数据送入数组或内存变量中。 1记录传送到数组或内存变量 命令格式: SCATTERFIELDS|

16、FIELDS LIKE|FIELDS EXCEPTMEMOTOBLANK|MEMVARBLANK。 功能:将当前记录的字段值按顺序依次送入数组元素中,或依次送入一组内存变量。,2数组或内存变量的数据传送到记录 命令格式: GATHER FROM|MEMVARFIELDS|FIELDS LIKE|FIELDS EXCEPTMEMO 功能:将数组或内存变量的数据依次传送到当前记录,以替换相应字段值。,3成批记录与数组间的数据传送SCATTER与GATHER命令只能在表的单个记录与数组间进行数据传送。下面介绍表的成批记录与数组传送数据的两条命令。 (1)将表的一批记录复制到数组 命令格式: COPY TO ARRAY FIELDSFORWHILE 功能:将当前表选定的数据复制到表示的数组之中,但不复制备注型字段。,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号