VFB程序设计教程教学课件丶第三章.ppt

上传人:牧羊曲112 文档编号:6522834 上传时间:2023-11-08 格式:PPT 页数:54 大小:1.20MB
返回 下载 相关 举报
VFB程序设计教程教学课件丶第三章.ppt_第1页
第1页 / 共54页
VFB程序设计教程教学课件丶第三章.ppt_第2页
第2页 / 共54页
VFB程序设计教程教学课件丶第三章.ppt_第3页
第3页 / 共54页
VFB程序设计教程教学课件丶第三章.ppt_第4页
第4页 / 共54页
VFB程序设计教程教学课件丶第三章.ppt_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《VFB程序设计教程教学课件丶第三章.ppt》由会员分享,可在线阅读,更多相关《VFB程序设计教程教学课件丶第三章.ppt(54页珍藏版)》请在三一办公上搜索。

1、Visual FoxPro 程序设计教程,计算机教研室,上机操作总结,命令窗口(交互工作方式)每行只能输入一条命令每输入一条命令,必须回车才能执行,且只执行当前行的命令,不执行以前行命令命令窗口中的命令可以重新执行或修改后再执行,方法是将光标放在命令行的任意位置并回车。,X=3.14?VARTYPE(X)X=3.14?VARTYPE(X)X=2008-01-01?VARTYPE(X),DIMNENSION a(4)a(1)=2store well to a(2),a(3)?a(1)?a(2)?a(3)?a(4),第3章 自由表的操作,Visual Foxpro 中的表的分类:数据库表自由表表文

2、件的扩展名主文件扩展名:.dbf(例如:学生管理.dbf)备注文件扩展名:.fpt,3.1 表结构的建立,3.1.1 表结构关系(二维)表的构成:表结构表中的数据(记录)建立表结构的五个步骤:1、定义字段名称2、选择数据类型3、确定字段宽度4、决定字段的索引顺序5、当前字段是否允许空(NULL)值,3.1.1 表结构概述,1定义字段名称字段名的命名规则是:自由表字段名最长10个字符,数据库表字段名最长128个字符必须以字母或汉字开头、后跟字母、汉字、数字和下划线字段名中不能包含空格同一表内不同字段不能同名表中应有唯一标识各个记录的字段或字段组合(关键字),3.1.1 表结构概述,2选择数据类型

3、,C型:1-254位 N型:宽度包括小数部分 D、T、L、M、G型:固定长度,3.确定字段宽度,3.1.1 表结构概述,4决定字段的索引顺序5当前字段是否允许NULL(空)值,3.1.2 创建新表,1用表向导创建新表 启动表向导的方法:“文件”“新建”“表”“向导”(工具栏)“新建”“表”“向导”“工具”“向导”“表”(项目管理器)“自由表”“新建”“表向导”2用表设计器创建新表 启动表设计器的方法:“文件”“新建”“表”“向导”(工具栏)“新建”“表”“向导”(项目管理器)“自由表”“新建”“表向导”命令窗口中输入:CREAT,【例3.1】按表3-1的要求,设计“学生表”的表结构。,3.表设

4、计器创建新表的几点说明在表设计器中进行字段设置时,不要按ENTER键;上下拖动字段左边双向箭头按钮,可改变字段顺序;表设计器的“表”选项卡用于显示该表的统计信息;记录总宽度为表中各字段宽度之和再加1(用于存放删除标记),但若有字段设置了允许空值,要再加1;表设计完成,单击“确定”按钮时,将弹出一个询问:“现在输入记录吗”对话框,可选择是或否。,3.2 表操作,3.2.1 常用的操作命令命令格式:&注释部分.&注释部分说明:“&注释部分”是对命令的说明,不是命令的可执行 部分,可以省略不写。命令格式说明1、命令动词表示要执行的操作,是一个命令中必不可少的部分。例如:LIST,.&注释部分,2语句

5、体 由一系列功能子句构成,表明操作的对象及对操作的限制,使用时可以根据需要选择一个或多个功能子句,也可以一个都不选。功能子句有五类:(1)FIELDS 用于规定操作的“字段”,中有多个字段时,字段名之间用逗号分隔。例如:USE 学生表 LIST FIELDS 姓名,身高,2语句体,(2)FOR 只对表中满足的所有记录进行操作。是个逻辑表达式例如:USE 学生表 LIST FOR 身高1.7(3)WHILE 对满足条件的记录进行操作。从表中当前正在使用的记录开始向下顺序判断,当遇到第一个不满足条件的记录时,停止命令执行。例如:GO TOP LIST FIELDS 姓名,身高 WHILE 党员=.

6、T.,2语句体,(4)规定表中可以操作的记录范围,为以下参数之一:ALLNEXTRECORDREST例如:list allgo 1list next 3list record 4list rest,2语句体,(5)TO表示操作结果的输出去向。例如:LIST TO PRINT,3命令书写格式说明,在书写命令格式时常用到一些符号:表示其中内容为必选项,实际命令中不包括它。:表示其中内容为可选项,即可以省略该子句。|:表示其两侧项目只能任选一项。:表示同类项的多次重复。例如 LIST for fields,TO LIST ALL FIELDS 姓名,性别 TO PRINT,4命令的书写与使用规则,(

7、1)每条命令以命令动词开始,以回车键结束,命令中各短语的顺序是任意的。(2)命令动词、短语中的英文单词及函数名均可缩写为前四个字符,大小写可混用。(3)命令动词、语句体及其各短语之间均以空格相隔。(4)一行只能写一个命令,不能将两个命令写在同一行。(5)命令一行写不下时,可由系统自然换行或在行尾加分号,回车强制换行。命令行的长度小于或等于2048个字符。List fields 姓名,身高 for 身高1.75List rest for 身高1.75 fields 姓名,性别,身高;to print,3.2.2 表的打开与关闭,1打开表打开表的含义:将表从计算机的外存调入内存,以便对表进行各种操

8、作。打开表的方法:方法1:使用项目管理器方法2:使用菜单或工具栏方法3:用USE命令。格式如下:USE EXCLUSIVE|SHAREDEXCLUSIVE指定以独占方式打开表,SHARED指定以共享方式,3.2.2 表的打开与关闭,2关闭表关闭表的含义:将表中数据保存到磁盘上,并将表数据从内存中清除。关闭表的方法方法1:新建或打开另一个新表同时,自动关闭旧表。方法2:选择文件菜单下的退出菜单项,通过退出 Visual FoxPro系统关闭表。方法3:用命令USE关闭表。格式:USE,3.2.3 表与表结构的复制,1结构与数据的同时复制 格式:COPY TO FIELDS FOR|WHILE 功

9、能:将满足条件的记录按指定结构复制为新的表文件。例如:USE 学生表COPY TO 学生表1USE 学生表1BROWSEcopy to 学生表2 for 身高1.7 fields 姓名,学生证号,身高USE 学生表2BROWSE,3.2.3 表与表结构的复制,2只复制表文件结构格式:COPY STRUCTURE TO FIELDS 功能:按指定的字段表复制表结构到一个新文件,若不指定字段表,则复制与当前表相同的结构。例如:USE 学生表COPY STRUCTURE TO 学生 FIELDS 姓名,学生证号,身高USE 学生LIST STRUCTURE,3.2.3 表与表结构的复制,3只复制记录

10、数据格式:COPY TO FIELDS FOR|WHILE SDF|DELIMITED功能:按指定格式将表文件的记录复制到文本文件(.TXT),若省略范围、条件和字段名表,则复制所有的记录值。SDF指复制后文本文件中的数据格式为标准格式 DELI指复制后文本文件中的数据格式为限定格式例如:USE 学生表COPY TO 学生3.TXT FIELDS 姓名,身高 FOR 身高1.7 deliTYPE 学生记录.TXT,3.2.3 表与表结构的复制,4复制任何类型的文件格式:COPY FILE TO说明:可以是任何类型,指被复制的文件。和的扩展名不能省去。必须处于关闭状态例如:USECOPY FIL

11、E 学生表.DBF TO 学生表3.DBFCOPY FILE 学生表.FPT TO 学生表3.FPT,3.2.3 表与表结构的复制,5记录数据复制生成数组格式:COPY TO ARRAY 数组名 FIELDS FOR|WHILE 功能:将记录数据传送到二维数组 每个记录对应数组的一行 备注和通用型数据不能存储到数组中,数组值为.F.数组不需要提前定义例如:USE 学生表COPY TO ARRAY 学生数组DISPLAY MEMORY,3.2.3 表与表结构的复制,6复制生成排序表文件格式:SORT TO ON/A|/D/C,字段2/A|/D/C.FIELDSFOR|WHILE 功能:按指定字段

12、重新排列记录并生成新文件,原文件不变。说明:排序文件以排序字段值为序,优先按字段1排序,.;/A表示升序,/D表示降序,缺省为升序;/C 不区分大小写字母;只允许C,N,D,L四种类型作排序关键字段;若缺省范围和条件,则对全部记录排序。例如:USE 学生表SORT TO 学生排序表 ON 身高d FOR 性别=”男”,3.2.4 向表中添加记录,1向表中添加数据的方法(1)方法1:在创建新表结构,结束退出时立即添加。(2)方法2:打开表后,通过浏览窗口添加。(显示浏览;显示追加方式;表-追加新记录)(3)方法3:打开要添加记录的表,通过命令添加。APPEND 命令:可以在浏览或编辑窗口中手工连

13、续 添加多条记录。APPEND FROM 命令:可将另一表(源表)、文本文件或数组 中的数据添加当前表的后面。它有3种命令格式:,1向表中添加数据的方法,从其它表中添加记录命令:格式:APPEND FROM FIELDS FOR|WHILE功能:从源表中选择满足的记录,并从中选择 所需字段值,添加到目前表中。例如:USE 学生表APPEND FROM F:xsqk.dbf LIST 注意:F盘中事先已经存在了一个xsqk.dbf表。,1向表中添加数据的方法,从文本格式文件中添加记录命令:格式:APPEND FROM 文本文件 SDF|DELIMITED FIELD FOR|WHILE功能:将文

14、本文件中满足要求的记录添加到当前表中 SDF:要求文本文件中的数据为标准格式 DELIMITED:要求源文件中的数据为限定格式例如:USE 学生表COPY TO XS.TXT SDF FOR 身高1.65COPY STRUC TO 学生表结构USE 学生表结构APPEND FROM XS.TXT SDFLIST,1向表中添加数据的方法,从数据组中添加记录命令:格式:APPEND FROM ARRAY 数组名 FIELD FOR|WHILE 功能:将数组中每一行做为一个记录,将各项数据 添加到当前表中。例如:USE 学生表COPY TO ARRAY AR FOR 身高=1.65COPY STRU

15、 TO 学生数组USE 学生数组APPEND FROM ARRAY AR field 学生证号,姓名LIST,3.2.4 向表中添加记录,2向表中输入数据时,应注意的问题(1)在输入新记录时,当输入内容填满一个字段的宽度时,光标会自动跳到下一个字段;内容不满一个字段的宽度时,可用Tab键或回车键将光标移到下一字段。(2)对于定义为日期型的字段,输入数据时,只需按月份、日期、年份各两位数字输入,其中的分隔符“/”不必输入。输入的年月日必须是有效数字,否则系统将提示日期无效。(3)定义为数值型并具有小数位的字段,在输入数据时,只要确定整数位数后,可不输入小数点。(4)定义为逻辑型的字段,输入数据时

16、,只需输入“T”或“F”且不分大小写,不需要输入逻辑数据的点定界符。(5)空值的输入方法:CTRL+0,(6)备注型和通用型字段内容的输入:字段说明:这两个字段数据不能在浏览窗口中直接输入,因为记录数据是保存在另一个文件(.fpt)中,表中只有4字节,存储一个指向ftp文件的指针备注字段:双击浏览窗口的备注字段,或单击后按组合键 ctrl+pageup、ctrl+pagedown、ctrl+home均进 入文本编辑器,编辑后关闭编辑器(ctrl+w)通用字段:双击浏览窗口的通用字段,然后选择“编辑”菜 单“插入对象”命令,插入或生成一个对象。要删除通用型字段的内容,按ctrl+X,3.2.4

17、向表中添加记录,3.2.5 浏览表中的数据,1浏览窗口和编辑窗口(显示-浏览/编辑)2调整浏览窗口(行高、列宽、移动列)3拆分浏览窗口4使用Browse命令浏览数据 BROWSE EIELDS 字段列表FOR5数据的选择显示 LIST|DISPLAY FIELDS FOR WHILE TO PRINTER TO FILE OFF,3.2.6 编辑表结构,1用表设计器修改表结构(1)打开表设计器打开表,在显示菜单中选择“表设计器”选项打开表,输入MODIFY STRUCTURE命令(2)修改表的结构2修改表结构对表中数据的影响(1)若被删除字段是被索引的字段,则该索引也被删除。(2)若重命名字段

18、是被索引的字段,则索引表达式也要修改。(3)修改字段的宽度和小数位数,可能导致数据的丢失。(4)修改字段的类型,可能导致丢失数据。,3.2.7 在表中移动记录指针,记录指针的概念VF每打开一个表,系统自动为其设置一个记录指针,该指针总是指向其中的一个记录,称为当前记录。表刚打开时,指针指向第 一个记录,记录指针可随着表的操作进行移动,也可用命令来移动记录指针。文件的逻辑结构 指针的移动1.在浏览窗口中移动2.命令方法移动3.菜单方法移动指针4.与指针及表相关的测试函数,TOP,BOF,bottom,EOF,3.2.7 在表中移动记录指针,1在浏览窗口中移动指针鼠标点击记录或用上下光标移动键、移

19、动记录指针。2命令方法移动指针(1)GO 命令(指针绝对定位命令)格式1:GOTO TOP GOTO BOTTOM 格式2:GOTO(2)SKIP命令 格式:SKIP 功能:记录指针相对当前记录进行定位 说明:的值可以是正或负的整数 缺省时表示1,(3)以下命令执行后,记录指针也会移动:LISTLIST NEXT NLIST RESTLIST RECORD NDISPLAYLOCATEREPLACE,3.2.7 在表中移动记录指针,3菜单方法移动指针打开“浏览”,选择“表”菜单下的转到记录菜单项,在子菜单中可选择:第一个最后一个下一个上一个记录号定位,3.2.7 在表中移动记录指针,4与指针及

20、表相关的测试函数(1)文件结束测试函数 EOF格式:EOF()功能:测试指定的表文件记录指针是否指向文件结束位 置(表文件尾),若是,函数值为(.T.),否则为(.F.)例如:USE 学生表GO BOTTOM&指针移到最后一条记录?EOF()&主屏幕显示:.F.SKIP&指针移到文件尾?EOF()&主屏幕显示:.T.GO 6 LIST?EOF()&主屏幕显示:.T,4与指针及表相关的测试函数,(2)文件起始测试函数 BOF格式:BOF()功能:测试指定表文件的记录指针是否指向文件起始位 置,即文件头。若是,函数值为(.T.),否则为(.F.)例如:USE 学生表GO TOP&指针移到首记录?B

21、OF()&主屏幕显示:.F.SKIP-1?BOF()&主屏幕显示:.T.,4与指针及表相关的测试函数,(3)记录号测试函数 RECNO格式:RECNO()功能:给出指定表的记录指针所指向的记录(当前记录)号;无参数时,给出当前表当前记录号;没有打开的表时,返回值为0;如果指针指向文件尾,函数值记录数加1;如果指针指向文件首,函数值为1。例如:USE 学生表&假设表中有10个记录?RECNO()&主屏幕显示:1?SKIP-1?RECNO()&主屏幕显示:1GO BOTTOM?RECNO()&主屏幕显示:10SKIP?RECNO()&主屏幕显示:11,4与指针及表相关的测试函数,(4)记录数测试函

22、数 RECCOUNT 格式:RECCOUNT()功能:测试指定工作区中数据表的记录个数,无参数时,测试当前工作区中数据表中的记录个数;若没有打开的数据表文件,则返回值为0。例如:USE 学生表&假设表中有10个记录?RECCOUNT()&主屏幕显示:10,4与指针及表相关的测试函数,(5)记录大小测试函数RECSIZE格式:RECSIZE(|)功能:测试指定的工作区中数据表记录的长度。例如:USE 学生表?RECSIZE(),3.2.8 编辑表中的数据,1在编辑和浏览窗口中修改记录(BROWSE、EDIT)打开编辑窗口或浏览窗口,用光标定位即可修改数据。2通过命令方式成批替换字段的内容格式:R

23、EPLACE 字段1 WITH ADDITIVE,字段2 WITH ADDITIVE.FOR|WHILE 范围 功能:用表达式的值成批替换满足条件记录中指定字段值说明:(1)若无范围和条件,则只替换当前记录;(2)表达式值的类型应与对应的字段类型一致;(3)ADDITIVE子句只用于备注型字段,表示在原来备注内容后面添加新的内容,否则替换原来内容。,例USE 成绩表LISTREPLACE 总分 WITH 0 ALLLISTREPLACE 总分 WITH 平时成绩*0.3+期末成绩*0.7 ALLLIST,问题:如何将总分化为整数?答案:REPLACE 总分 WITH ROUND(平时成绩*0.

24、3+期末成绩*0.7,0)ALL,3.2.8 编辑表中的数据,3删除记录(1)添加删除标记(逻辑删除):使用菜单方法 使用逻辑删除命令 DELETE FOR|WHILE(2)彻底删除记录(物理删除):从表菜单选择“彻底删除”,删除带删除标记记录。彻底删除带删除标记的记录:PACK物理删除表中的全部记录:ZAP,3.2.8 编辑表中的数据,4.恢复记录 恢复记录是指恢复已经被逻辑删除的记录。(1)用表的菜单中的“恢复记录”选项去掉记录的删除标记。(2)采用命令方式恢复记录。RECALL FOR|WHILE说明:没有参数的recall命令只恢复当前记录 例如:USE 学生表 DELE FOR 身高

25、1.7 LIST RECALL FOR 身高1.7 LIST,1设置过滤器(1)菜单方法:“表”菜单-“属性”-“数据过滤器”(2)命令方法:SET FILTER TO 例如:USE 学生表 SET FILTER TO 性别=女 AND 党员=.T.LIST SET FILTER TO&取消设置过滤器 LIST,3.2.9定制表,3.2.9定制表,2设置字段表(1)菜单方法:“表”菜单-“属性”-“字段筛选”(2)命令方法格式:SET FIELDS TO,|ALL功能:在内存预设一个“字段表”,只能对预设表中字段操作,可多次使用该命令,向预设表中加入新字段,也可以加 入或清除全部字段。举例:u

26、se 学生表 set fields to 姓名,性别 set fields to 出生日期,身高 set fields all&所有字段加入预设表 set fields to&清空预设表说明:恢复对原表操作:SET FIELDS OFF(默认为ON),3.2.10 有关表的其它操作命令,1计数命令格式:COUNT FOR WHILE TO 功能:计算指定打开表中指定范围内满足条件的记录数。例如:USE 学生表COUNT FOR 性别=“男”TO LS?LS,2求和命令格式:SUM FOR WHILE TO|ARRAY 功能:在打开的表中,对的各个表达 式分别求和。显示在屏幕上、赋给变量或数组。

27、例如:USE 学生表SUM 身高 FOR 性别=“男”TO SG?SG,3求平均值命令格式:AVERAGE FOR WHILE TO|ARRAY 功能:在打开的表中,对中的各个表达式分别求平均值。省略各表达式对所有数值字段求平均值。例如:USE 学生表AVERAGE 身高 FOR 性别=”男”TO ASG?ASG,4计算命令格式:CALCULATE FOR WHILE TO|ARRAY功能:在打开的表中,计算中表达式的值。说明:表达式中至少要包含系统规定的几个函数之一。这些函数有AVG(),SUM(),MAX(),MIN()等.例如:USE 学生表CALC AVG(身高)TO ASG?ASG,5汇总命令格式:TOTAL TO ON FIELDS FOR WHILE 功能:在当前表中,分别对值相同的记录的数 值型字段值求和,并将结果存入一个新表。一组 关键字值相同的记录在新表中产生一个记录,对 于非指定字段只将关键字值相同的第一个记录的 字段值放入新记录。关键字是指表按该字段做了 排序或做了索引,举例:use 学生表 LIST sort to 排序表 on 身高 use 排序表 LIST total to 汇总学生表 on 党员 USE 汇总学生表 LIST,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号