VFB程序设计教程教学课件丶第三章.ppt_第1页
VFB程序设计教程教学课件丶第三章.ppt_第2页
VFB程序设计教程教学课件丶第三章.ppt_第3页
VFB程序设计教程教学课件丶第三章.ppt_第4页
VFB程序设计教程教学课件丶第三章.ppt_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Visual FoxPro 程序设计教程,计算机教研室,上机操作总结,命令窗口(交互工作方式) 每行只能输入一条命令 每输入一条命令,必须回车才能执行,且只执行当前行的命令,不执行以前行命令 命令窗口中的命令可以重新执行或修改后再执行,方法是将光标放在命令行的任意位置并回车。,X=3.14 ?VARTYPE(X) X=“3.14“ ?VARTYPE(X) X=2008-01-01 ?VARTYPE(X),DIMNENSION a(4) a(1)=2 store well to a(2),a(3) ?a(1) ?a(2) ?a(3) ?a(4),第3章 自由表的操作,Visual Foxpro 中的表的分类: 数据库表 自由表 表文件的扩展名 主文件扩展名:.dbf (例如:学生管理.dbf) 备注文件扩展名:.fpt ,3.1 表结构的建立,3.1.1 表结构 关系(二维)表的构成: 表结构 表中的数据(记录) 建立表结构的五个步骤: 1、定义字段名称 2、选择数据类型 3、确定字段宽度 4、决定字段的索引顺序 5、当前字段是否允许空(NULL)值,3.1.1 表结构概述,1定义字段名称 字段名的命名规则是: 自由表字段名最长10个字符,数据库表字段名最长128个字符 必须以字母或汉字开头、后跟字母、汉字、数字和下划线 字段名中不能包含空格 同一表内不同字段不能同名 表中应有唯一标识各个记录的字段或字段组合(关键字),3.1.1 表结构概述,2选择数据类型,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. 表设计器创建新表的几点说明 在表设计器中进行字段设置时,不要按ENTER键; 上下拖动字段左边双向箭头按钮,可改变字段顺序; 表设计器的“表”选项卡用于显示该表的统计信息; 记录总宽度为表中各字段宽度之和再加1(用于存放删除标记),但若有字段设置了允许空值,要再加1; 表设计完成,单击“确定”按钮时,将弹出一个询问:“现在输入记录吗”对话框,可选择是或否。,3.2 表操作,3.2.1 常用的操作命令 命令格式: & 注释部分 . & 注释部分 说明: “&注释部分”是对命令的说明,不是命令的可执行 部分,可以省略不写。 命令格式说明 1、命令动词 表示要执行的操作,是一个命令中必不可少的部分。 例如:LIST, . & 注释部分,2语句体 由一系列功能子句构成,表明操作的对象及对操作的限制,使用时可以根据需要选择一个或多个功能子句,也可以一个都不选。 功能子句有五类: (1) FIELDS 用于规定操作的“字段”,中有多个字段时,字段名之间用逗号分隔。 例如: USE 学生表 LIST FIELDS 姓名,身高,2语句体,(2) FOR 只对表中满足的所有记录进行操作。 是个逻辑表达式 例如: USE 学生表 LIST FOR 身高1.7 (3) WHILE 对满足条件的记录进行操作。从表中当前正在使用的记录开始向下顺序判断,当遇到第一个不满足条件的记录时,停止命令执行。 例如: GO TOP LIST FIELDS 姓名, 身高 WHILE 党员=.T.,2语句体,(4) 规定表中可以操作的记录范围,为以下参数之一: ALL NEXT RECORD REST 例如: list all go 1 list next 3 list record 4 list rest,2语句体,(5) TO 表示操作结果的输出去向。 例如: LIST TO PRINT,3命令书写格式说明,在书写命令格式时常用到一些符号: :表示其中内容为必选项,实际命令中不包括它。 : 表示其中内容为可选项,即可以省略该子句。 | : 表示其两侧项目只能任选一项。 : 表示同类项的多次重复。 例如 LIST for fields , TO LIST ALL FIELDS 姓名, 性别 TO PRINT,4命令的书写与使用规则,(1) 每条命令以命令动词开始,以回车键结束,命令中各短语的顺序是任意的。 (2) 命令动词、短语中的英文单词及函数名均可缩写为前四个字符,大小写可混用。 (3) 命令动词、语句体及其各短语之间均以空格相隔。 (4) 一行只能写一个命令,不能将两个命令写在同一行。 (5) 命令一行写不下时,可由系统自然换行或在行尾加分号,回车强制换行。命令行的长度小于或等于2048个字符。 List fields 姓名, 身高 for 身高1.75 List rest for 身高1.75 fields 姓名, 性别,身高 ; to print,3.2.2 表的打开与关闭,1打开表 打开表的含义:将表从计算机的外存调入内存, 以便对表进行各种操作。 打开表的方法: 方法1:使用项目管理器 方法2:使用菜单或工具栏 方法3:用USE命令。格式如下: USE EXCLUSIVE | SHARED EXCLUSIVE指定以独占方式打开表,SHARED指定以共享方式,3.2.2 表的打开与关闭,2关闭表 关闭表的含义:将表中数据保存到磁盘上, 并将表数据从内存中清除。 关闭表的方法 方法1:新建或打开另一个新表同时,自动关闭旧表。 方法2:选择文件菜单下的退出菜单项,通过退出 Visual FoxPro系统关闭表。 方法3:用命令USE关闭表。 格式:USE,3.2.3 表与表结构的复制,1结构与数据的同时复制 格式:COPY TO FIELDS FOR | WHILE 功能:将满足条件的记录按指定结构复制为新的表文件。 例如: USE 学生表 COPY TO 学生表1 USE 学生表1 BROWSE copy to 学生表2 for 身高1.7 fields 姓名,学生证号,身高 USE 学生表2 BROWSE,3.2.3 表与表结构的复制,2只复制表文件结构 格式:COPY STRUCTURE TO FIELDS 功能:按指定的字段表复制表结构到一个新文件, 若不指定字段表,则复制与当前表相同的结构。 例如: USE 学生表 COPY STRUCTURE TO 学生 FIELDS 姓名, 学生证号, 身高 USE 学生 LIST STRUCTURE,3.2.3 表与表结构的复制,3只复制记录数据 格式:COPY TO FIELDS FOR|WHILE SDF|DELIMITED 功能:按指定格式将表文件的记录复制到文本文件(.TXT), 若省略范围、条件和字段名表,则复制所有的记录值。 SDF指复制后文本文件中的数据格式为标准格式 DELI指复制后文本文件中的数据格式为限定格式 例如: USE 学生表 COPY TO 学生3.TXT FIELDS 姓名,身高 FOR 身高1.7 deli TYPE 学生记录.TXT,3.2.3 表与表结构的复制,4复制任何类型的文件 格式:COPY FILE TO 说明:可以是任何类型,指被复制的文件。 和的扩展名不能省去。 必须处于关闭状态 例如: USE COPY FILE 学生表.DBF TO 学生表3.DBF COPY 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 功能:按指定字段重新排列记录并生成新文件,原文件不变。 说明:排序文件以排序字段值为序,优先按字段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 命令: 可以在浏览或编辑窗口中手工连续 添加多条记录。 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 功能:将文本文件中满足要求的记录添加到当前表中 SDF:要求文本文件中的数据为标准格式 DELIMITED:要求源文件中的数据为限定格式 例如: USE 学生表 COPY TO XS.TXT SDF FOR 身高1.65 COPY STRUC TO 学生表结构 USE 学生表结构 APPEND FROM XS.TXT SDF LIST,1向表中添加数据的方法,从数据组中添加记录命令: 格式: APPEND FROM ARRAY 数组名 FIELD FOR| WHILE 功能:将数组中每一行做为一个记录,将各项数据 添加到当前表中。 例如: USE 学生表 COPY TO ARRAY AR FOR 身高=1.65 COPY STRU TO 学生数组 USE 学生数组 APPEND FROM ARRAY AR field 学生证号, 姓名 LIST,3.2.4 向表中添加记录,2向表中输入数据时,应注意的问题 (1) 在输入新记录时,当输入内容填满一个字段的宽度时,光标会自动跳到下一个字段;内容不满一个字段的宽度时,可用Tab键或回车键将光标移到下一字段。 (2) 对于定义为日期型的字段,输入数据时,只需按月份、日期、年份各两位数字输入,其中的分隔符“/”不必输入。输入的年月日必须是有效数字,否则系统将提示日期无效。 (3) 定义为数值型并具有小数位的字段,在输入数据时,只要确定整数位数后,可不输入小数点。 (4) 定义为逻辑型的字段,输入数据时,只需输入“T”或“F” 且不分大小写,不需要输入逻辑数据的点定界符。 (5) 空值的输入方法:CTRL+0,(6) 备注型和通用型字段内容的输入: 字段说明:这两个字段数据不能在浏览窗口中直接输入, 因为记录数据是保存在另一个文件 (.fpt)中, 表中只有4字节,存储一个指向ftp文件的指针 备注字段:双击浏览窗口的备注字段,或单击后按组合键 ctrl+pageup、ctrl+pagedown、ctrl+home均进 入文本编辑器,编辑后关闭编辑器(ctrl+w) 通用字段:双击浏览窗口的通用字段,然后选择“编辑”菜 单“插入对象”命令,插入或生成一个对象。 要删除通用型字段的内容,按ctrl+X,3.2.4 向表中添加记录,3.2.5 浏览表中的数据,1浏览窗口和编辑窗口(显示-浏览/编辑) 2调整浏览窗口(行高、列宽、移动列) 3拆分浏览窗口 4使用Browse命令浏览数据 BROWSE EIELDS 字段列表FOR 5数据的选择显示 LIST|DISPLAY FIELDS FOR WHILE TO PRINTER TO FILE OFF,3.2.6 编辑表结构,1用表设计器修改表结构 (1) 打开表设计器 打开表,在显示菜单中选择“表设计器”选项 打开表,输入MODIFY STRUCTURE命令 (2) 修改表的结构 2修改表结构对表中数据的影响 (1) 若被删除字段是被索引的字段,则该索引也被删除。 (2) 若重命名字段是被索引的字段,则索引表达式也要修改。 (3) 修改字段的宽度和小数位数,可能导致数据的丢失。 (4) 修改字段的类型,可能导致丢失数据。,3.2.7 在表中移动记录指针,记录指针的概念 VF每打开一个表,系统自动为其设置一个记录指针,该指针总是指向其中的一个记录,称为当前记录。 表刚打开时,指针指向第 一个记录,记录指针可随着表的操作进行移动,也可用命令来移动记录指针。 文件的逻辑结构 指针的移动 1. 在浏览窗口中移动 2. 命令方法移动 3. 菜单方法移动指针 4. 与指针及表相关的测试函数,TOP,BOF,bottom,EOF,3.2.7 在表中移动记录指针,1在浏览窗口中移动指针 鼠标点击记录或用上下光标移动键、移动记录指针。 2命令方法移动指针 (1) GO 命令(指针绝对定位命令) 格式1:GOTO TOP GOTO BOTTOM 格式2:GOTO (2) SKIP命令 格式:SKIP 功能:记录指针相对当前记录进行定位 说明:的值可以是正或负的整数 缺省时表示1,(3) 以下命令执行后,记录指针也会移动: LIST LIST NEXT N LIST REST LIST RECORD N DISPLAY LOCATE REPLACE,3.2.7 在表中移动记录指针,3菜单方法移动指针 打开“浏览”,选择“表”菜单下的转到记录菜单项,在子菜单中可选择: 第一个 最后一个 下一个 上一个 记录号 定位,3.2.7 在表中移动记录指针,4与指针及表相关的测试函数 (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 &指针移到首记录 ?BOF() &主屏幕显示:.F. SKIP -1 ?BOF() &主屏幕显示:.T.,4与指针及表相关的测试函数,(3) 记录号测试函数 RECNO 格式:RECNO() 功能:给出指定表的记录指针所指向的记录(当前记录)号; 无参数时,给出当前表当前记录号; 没有打开的表时,返回值为0; 如果指针指向文件尾,函数值记录数加1; 如果指针指向文件首,函数值为1。 例如:USE 学生表 &假设表中有10个记录 ?RECNO( ) &主屏幕显示:1 ?SKIP -1 ?RECNO( ) &主屏幕显示:1 GO BOTTOM ?RECNO( ) &主屏幕显示:10 SKIP ?RECNO( ) &主屏幕显示:11,4与指针及表相关的测试函数,(4) 记录数测试函数 RECCOUNT 格式:RECCOUNT() 功能:测试指定工作区中数据表的记录个数, 无参数时,测试当前工作区中数据表中的记录个数; 若没有打开的数据表文件,则返回值为0。 例如: USE 学生表 &假设表中有10个记录 ?RECCOUNT( ) &主屏幕显示:10,4与指针及表相关的测试函数,(5) 记录大小测试函数RECSIZE 格式:RECSIZE (|) 功能:测试指定的工作区中数据表记录的长度。 例如: USE 学生表 ?RECSIZE( ),3.2.8 编辑表中的数据,1在编辑和浏览窗口中修改记录(BROWSE、EDIT) 打开编辑窗口或浏览窗口,用光标定位即可修改数据。 2通过命令方式成批替换字段的内容 格式:REPLACE 字段1 WITH ADDITIVE ,字段2 WITH ADDITIVE . FOR | WHILE 范围 功能:用表达式的值成批替换满足条件记录中指定字段值 说明: (1) 若无范围和条件,则只替换当前记录; (2) 表达式值的类型应与对应的字段类型一致; (3) ADDITIVE子句只用于备注型字段,表示在原来备注内容后面添加新的内容,否则替换原来内容。,例 USE 成绩表 LIST REPLACE 总分 WITH 0 ALL LIST REPLACE 总分 WITH 平时成绩*0.3+期末成绩*0.7 ALL LIST,问题:如何将总分化为整数? 答案: REPLACE 总分 WITH ROUND(平时成绩*0.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 身高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 功能:在内存预设一个“字段表”,只能对预设表中字段操作, 可多次使用该命令,向预设表中加入新字段,也可以加 入或清除全部字段

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论