版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2020/10/14,1,V F P 基础,一 VFP概述 二 VFP的数据类型 三 常量和变量 四 函数 五 运算和表达式 练习与思考,2020/10/14,2,21 V F P 概述,VFP的发展dBASEIIIFoxbase+Foxpro2.5VisualFoxpro6.0 VFP是可视化的DBMS,也是强大的面向对象的应用程序编程工具。 VFP的运行环境 见P193页 硬件环境:486/66MHz以上 / 16M以上 / 鼠标 / 高分辨率显示器 / 大容量硬盘 软件环境:Windows95以上,或WindowsNT4.0以上,2020/10/14,3,21 V F P 概述,VFP的
2、安装 将装有VFP的光盘放入光驱; 找到存放VFP应用程序的文件夹双击之; 找到SETUP.EXE可执行程序文件双击即可按照提示,一步一步进行安装。 有的VFP光盘可使系统直接启动安装VFP的程序。 启动:执行桌面上的VFP快捷方式或找到VFP6.EXE直接双击。 退出:窗口关闭方式或执行命令QUIT。,2020/10/14,4,21 V F P 概述,VFP的界面 由主窗口和命令窗口组成; 主窗口有菜单栏、工具栏、状态栏等组成,并为显示交互命令的反馈信息。 命令窗口用来键入FOXPRO的命令。 示例:? 12+80-69+34 VFP中常用的文件类型 .DBF 表文件 .FPT 备注文件 .
3、IDX 索引文件 .PRG 程序文件,2020/10/14,5,21 V F P 概述,VFP的主要技术指标,字段名长度=10个字符,2020/10/14,6,22 V F P 的数据类型,VFP的数据类型 字符型(C) 使用时必须用定界符 “ ” 或 或 数值型(N) 只能由数字、小数点和正负号组成。 逻辑型(L) 只能由真(.T.或.Y.)、假(.F.或.N.)来表示。长度固定占1个字节。特别注意其书写两边一定加点。 日期型(D) 默认格式为mm/dd/yy,即月/日/年,长度固定为8字节。,2020/10/14,7,RSDA.FPT,22 V F P 的数据类型,备注型(M) 这种类型数
4、据只用在表的备注字段中,用来存放大块长度不固定的备注信息; 备注字段的宽度固定为4个字节,用来存放指向数据存贮地址的指针,在备注字段位置上统一显示Memo; 每个备注型数据最多可容纳64K个字符。,宽度为 4字节,最大可容纳64K,RSDA.DBF,2020/10/14,8,22 V F P 的数据类型,屏幕型(S) 用于存放整个屏幕的8025个字符的屏幕信息。 另外还有 通用型(G) 、 字符二进制型(C) 、 整数型(N) 、 浮点型(N) 、 双精度型(N) 、货币型(Y)、 日时型(T) 和 备注二进制型(M) 类型。 货币型是数值型的扩展,固定占8个字节 例:$123456.789
5、日时型是日期型的扩展,其格式为 MM/DD/YY TT:MM:SS AM|PM 例:01/02/98 00:00:00 AM,2020/10/14,9,23 常量和变量,VFP的常量 常量是在程序运行过程中其值不变化的数据,它具有字符型、数值型、逻辑型、日期型、日时型和货币型六种。 1、字符型使用时必须用定界符 “ ” 或 或 2、有关日期型、日时型常量的说明: 正确格式为 CTOD(“01/02/98”) CTOT(“01/02/98 12:00:11 AM”) 1998/01/02 或用-连接 1998/01/02 12:00:11 a 计算机显示为01/02/98和01/02/98 12
6、:00:11 AM,2020/10/14,10,23 常量和变量,例: “abc” abc abc 123.45 “123.45” . t ., CTOD(01/20/97) 01/03/89 03:00:00 pm $123.45 1990-12-10 F 10/01/50,3、对于日时型的缺省补齐: 1989-01-27am自动补齐为1989-01-27 12:00:00am ctot(“11:28:38am”)自动补齐为1899-12-30 11:28:38am 用?来体会:,2020/10/14,11,23 常量和变量,VFP的变量 变量是在程序运行过程中其值可能会发生变化的数据,或说
7、可以在一定范围内取值的数据,它分为字段变量和内存变量两类。 字段变量 即每一个记录的某个属性字段名,它的值随着不同的记录而变化。 字段变量名=10个字符,必须以汉字或字母开头且仅由英文字母、汉字、数字和下划线组成。 例:表RSDA.DBF中的字段姓名、出生日期等。,2020/10/14,12,23 常量和变量,内存变量 是一些临时变量,它在内存中存贮数据,以便在需用时引用它的内容。当退出VFP或断电时数据将自动消失。 内存变量可以有C、N、L、D、T、Y六种类型。它的具体类型与此时内存变量中的值的类型一致。 内存变量长度=254个字符,必须以英文字母或汉字开头且仅由英文字母、汉字、数字和下划线
8、组成。 例:A、AB1、工资_总额、应发工资、C_12等。,2020/10/14,13,23 常量和变量,内存变量的赋值 赋值 例:X=1 Y=4 X=Y+1 成批赋值 STORE TO 例:STORE 0 TO X1,X2,Y1,Y2,*给若干内存变量赋以相同的值 如:A=1 STORE 2 TO A,B B=2 STORE A+2 TO A,B A=B STORE 1,2 TO A,B A=B=2 ?A,B,2020/10/14,14,23 常量和变量,内存变量与字段变量的区别 内存变量独立存在,字段变量隶属于数据库,不能独立存在; 内存变量的类型和长度可随所赋值的不同而变化,字段变量的类
9、型和长度在建库时已定义好,除非修改库结构,否则不能改变; 内存变量为单值变量,字段变量为多值变量; 当内存变量与字段变量同名时,默认为字段变量。若指内存变量需加“M-”符,以示区别。,B=3 B=1+B m-姓名=123 STOR TO B,2020/10/14,15,23 常量和变量,内存变量的显示(设B=4) 在下一行显示 例:? B+2, B*5 ? 在当前行显示 例:? B/2,*用 “新建 ”“程序 ” 建立程序 DY. PRG A= 曾经有一次 ? A , 学习的机会, ? 我没有好好去珍惜。 ? 如果非要给学习一个期限的话, ? 答案应该是 ? 一万年! ,1.程序中符号必须是英
10、文状态; 2.程序名是在编辑后存盘时输入的; 3.新建和修改程序用MODI COMM DY 4.运行程序用DO DY,2020/10/14,16,23 常量和变量,LIST MEMO 或DISP MEMO 翻屏或分屏显示所有内存中变量(包括自定义内存变量和系统内存变量)的名字、层次位置、数据类型和具体值 。 数值处理函数 ABS(X) 求绝对值 ? ABS(-12/6) INT(X) 取整 ? INT(-0.99) ROUND(X,I) 四舍五入 ?ROUN(3.1415,1) MAX(X,Y) 取大 ? MAX(-2,-3) MIN(X,Y) 取小 ? MIN(-2,-3),2020/10/
11、14,17,24 函数,VFP的函数 函数计算实际上是对于指定的函数名和自变量(参数表)执行事先编好的程序。 每个函数必然有一个具有确定数据类型的返回值(函数值); 函数值可作为一个数据再和其他数据进行运算; 送给函数的自变量的数据类型必须与该函数要求自变量的数据类型一致;否则将出现语法错误。 大多数函数都要使用一个或多个参数,但有若干个函数是无参数的(宏替换函数)。 函数名只写前四个字符即可。,2020/10/14,18,24 函数,数值处理函数 SQRT(X) 平方根 ? SQRT(36.00) MOD(X,Y) 取余数,当X与Y异号时函数的返回值为余数+Y。 ? MOD(12,5) ?
12、MOD(-12,5) ? MOD(12,-5) ? MOD(-12,-5) 字符处理函数 WHILE: 对指定范围内记录一旦检测到执行条件不满足时终止检测。(示例),2020/10/14,37,3 1 V F P 的命令,3.使用命令时,必须注意: 。所有命令都必须以命令动词开头,动词后面的短语先后顺序任意;(赋值语句) 。所有命令都必须按照一定的格式书写;(蓝色) 。至少有一个空格分隔命令中的各个单词、短语; 。命令中的关键字可以缩写成它们的前四个字符; 。命令中使用的字母,大小写没有区别; 。一条命令一行未键入完时,光标会自动换行。或在本行末键入 ; ,再按回车后,在下一行继续键入. 。一
13、行内不允许写多条命令。 。回车是每个命令的结束标志。 。不要用命令动词作为用户自定义的各种名字。,2020/10/14,38,3 1 V F P 的命令,4. 命令的工作模式 单命令工作模式(命令方式)、菜单命令工作模式(菜单方式)、批命令工作模式(程序方式)三种。 5.命令窗口的操作 在按ENTER键执行键入命令之前,按ESC键删除该命令。 将光标移到以前命令行的任意位置按ENTER键可重新执行命令。 选择要重新处理的代码块,按ENTER键将重新执行。 要分割很长的命令可以在所需位置的空格后接分号并按ENTER键。 使用剪切、复制、粘贴和清除编辑所需命令。 6. 窗口的编辑 使用剪切、复制、
14、粘贴等命令。,2020/10/14,39,3 2 表的建立,建立表结构 表是数据库中最基本的文件,是一种二维表; 数据库有若干个逻辑上有一定联系的表及其备注文件构成。(.DBC) 命令格式: CREA 命令说明: 此命令生成一个以指定文件名命名的表(扩展名为 . DBF ,一般可省略)。 字段名的命名必须合法。,2020/10/14,40,3 2 表的建立, 数据类型只能是13种数据类型之一,宽度根据实际的需要而定,有些数据类型是由系统自动配置的不能改变(D-8、L-1、M-4、G、Y等)。 对于数值型字段考虑其宽度时要连小数点和小数位一并设置。 NULL是一种标记,起指示该字段是否具有实际数
15、据的作用。没有设置NULL值的空白字段根据不同数据类型有各自默认的值: 数值型默认为 0 ; 字符型默认为空 串 ; 逻辑型默认为 .F. ; 日期型默认为空日期。,2020/10/14,41,3 2 表的建立,此命令可以通过菜单或快捷图标来实现。 表结构的编辑:在光标所在字段可以插入或删除字段。 表结构确定好后,可立即输入数据;以后也可用APPE追加输入。 对表结构的再修改可通过菜单显示表设计器或MODI STRU进行修改。,2020/10/14,42,3 2 表的建立,显示表结构 命令格式: LIST / DISP STRU TO PRIN 命令说明:显示当前打开的表结构的各项内容。 修改
16、表结构 命令格式: MODI STRU 命令说明:修改当前打开的表结构。点”确认”认可修改之表结构;按”取消”或”ESC”可放弃修改。注意其各种提法(增加一个字段、删除某个字段或修改某字段的宽度或类型等),2020/10/14,43,3 2 表的建立,表的数据输入 1.直接方式:建立完表结构确定无误后,立即输入数据。 注意日期型数据的输入。(若输入两位年份默认为1951 - 2050)。 关于备注字段备注字段(如简历)内容的输入是将光标移到备注字段后,双击鼠标左键或按(或); 输入备注字段的内容后存盘:单击编辑窗口的X,或按W;如放弃存盘:按或Q。 备注字段中有内容的“memo” 将变为Mem
17、o。,2020/10/14,44,3 2 表的建立,输入完一个记录的内容后,指针自动定位在下一个记录。结束输入存盘按W。最后一个空记录不被存盘。 输入各个记录中的数据必须合法。 (逻辑型字段在VFP中可只输 T 或 F ) 2.追加方式 命令格式: APPE 或 BROW 命令说明:在打开表的末尾追加新记录. 菜单方式浏览窗口:显示/追加方式(追加多条) 表/追加新记录 (追加一条),2020/10/14,45,3 3 表的编辑,表的打开和关闭 1.表的打开 命令格式: USE 命令说明: 关闭当前工作区中已打开的表,打开由(默认.DBF)指定的表(如有备注字段的话,同时把这个表伴生的.FPT
18、文件打开); 也可用菜单命令或工具栏图标方式。,2020/10/14,46,3 3 表的编辑,2.表的关闭 命令一格式:USE 命令说明:关闭已打开的表。 命令二格式:CLOSE TABLES INDEX ALL 命令说明: 可以利用 关闭表及其辅助文件; 为关闭包括表文件的所有文件。 命令三格式:CLEAR ALL 命令说明:关闭所有文件并释放所有的内存变量。,2020/10/14,47,3 3 表的编辑,表记录的显示 1.集中显示命令 命令格式: LIST FIEL FOR/WHIL OFF TO PRIN 命令说明: 范围项缺省时,显示全部记录。 字段表项缺省时,显示全部字段,但不显示备
19、注字段内容。 有条件项时,显示符合条件的记录,缺省时显示指定范围内的记录。 OFF项缺省时显示记录号,否则不显示记录号。,2020/10/14,48,3 3 表的编辑,举例说明: LIST LIST FIEL 姓名,出生日期 LIST FOR 性别=男 OFF 2.分屏显示命令 命令格式: DISP FIEL FOR/WHIL OFF TO PRIN 命令说明:功能和LIST相同,但区别有二: LIST为翻屏显示,DISP为分屏显示; 范围缺省时,若无条件项,仅显示当前记录。,2020/10/14,49,3 3 表的编辑,举例说明: DISP ALL 相当于DISP ALL=LIST 或 LI
20、ST ALL DISP OFF DISP RECO 5 若当前记录号为5则可写为DISP 或 LIST RECO 5 DISP FIEL 姓名,工资 DISP NEXT 3 DISP FOR 出生日期CTOD(12/31/50) DISP FOR 职称= “工程师” AND 工资350,2020/10/14,50,3 3 表的编辑,3.窗口浏览显示命令 命令格式: BROW FIEL 命令说明: 字段表项缺省时,显示全部字段。 退出方法为:单击编辑窗口的“”,或按 ESC或W。 第一栏显示有一个向右实心三角形为当前记录。可用菜单实现浏览。 另:BROW还可实现增加记录、删除记录和修改记录的功能
21、。,2020/10/14,51,3 3 表的编辑,表记录的定位 (1)绝对定位 (菜单演示) 命令格式: GOTO 命令说明: 记录号必须是正整数(如不是自动取整) GOTO可简写为GO,还可只写记录号 举例说明: GOTO 8 或 GO 8 或 8 GO SQRT(82) ? RECN() GO BOTT GO TOP,2020/10/14,52,3 3 表的编辑,表记录的定位(2)相对定位 (菜单演示) 命令格式: SKIP +/- 命令说明: +表示向后跳,-表示向前跳 移动距离必须是正整数(如不是自动取整) 举例说明:,10 SKIP 4 ?RECN(),GO TOP SKIP SKI
22、P -20 ? RECN() ? BOF(), GO BOTT SKIP 99 ? RECN() ? EOF(),2020/10/14,53,3 3 表的编辑,表记录的修改全屏幕编辑方式 命令格式一: EDIT|CHAN / FIEL FOR/WHILE 命令说明: 在编辑窗口修改表中某些符合条件的记录; 缺省各个短语,则以当前记录作为修改的入口。 命令格式二: BROW FIEL LOCK FREEZE NOFOLLOW NOAPPEND NOMODIFY WIDTH ,2020/10/14,54,3 3 表的编辑,命令说明:(演示) 对浏览窗口中的记录可进行任意修改。 FIEL 可指定要显
23、示的字段名, LOCK 指锁定显示第n个字段。 FREEZE 只对此项字段进行修改 NOFOLLOW 修改关键字时重新定位且指针不变 NOAPPEND 表示禁止追加记录 NOMODIFY 禁止对库文件内容进行修改 WIDTH 表示限制全部字符型字段的显示字符数,2020/10/14,55,3 3 表的编辑,表记录的修改命令替换方式 命令格式: REPL WITH FOR 命令说明: 对范围内满足的所有记录按替换清单所指定的字段作内容替换 替换内容是一个表达式,其数据类型必须与相应字段类型一致 可用菜单操作实现此命令 REPL 命令的用法很多,需灵活运用。,2020/10/14,56,3 3 表
24、的编辑,使用REPL命令作为横向运算及求和 MODI STRU (增加“应发工资”字段) REPL ALL 应发工资 WITH 基本工资+奖金 使用REPL命令作为快速录入之手段 REPL ALL FOR 职称=“工程师” 基本工资 WITH 300.00 REPL FOR 职称=助工 基本工资 WITH 基本工资+300.00 用APPE/INSE BLAN和REPL命令增加新记录 APPE BLAN REPL 姓名 WITH 李青, 性别 WITH 女,2020/10/14,57,3 3 表的编辑,表记录的增加追加 命令格式: APPE BLANK 命令说明: 在表尾追加新记录 有BLAN
25、K是在表尾追加空记录 另,菜单方式 进入浏览窗口 /显示 / 追加方式 可在表的尾部增加多个记录; 进入浏览窗口 /表菜单 / 追加新记录可在表的尾部增加一个记录;或用快捷键+Y。,2020/10/14,58,3 3 表的编辑,表记录的增加插入 命令格式: INSE BEFO BLANK 命令说明: 在表当前记录之后前插入新记录(可连续插入若干个记录),有BLANK是插入空记录 插入的记录输入了任一数据即有效,按键取消插入,将本记录所有字段中数据清掉。,GO BOTT INSE,例:USE RSDA INSE BEFO SKIP -4 INSE,2020/10/14,59,3 3 表的编辑,表
26、记录的删除逻辑删除 命令格式: DELE FOR WHILE 命令说明: 对指定范围内符合的记录打上删除标记(*),逻辑删除是物理删除的前提,它并不把被删记录从表中去掉,而只是打上删除标记,逻辑删除可恢复。 范围、条件项都缺省时,只删除当前记录;范围缺省时默认为ALL,2020/10/14,60,3 3 表的编辑,被逻辑删除的记录仍参与各种操作,用SET DELE ON可将它们隐蔽起来,使之不参与一些基本操作;用SET DELE OFF解除隐蔽。 (演示) 例:USE RSDA GO 3 DELE NEXT 3 FOR 性别=女 SET DELE ON LIST SET DELE OFF LI
27、ST,2020/10/14,61,3 3 表的编辑,表记录的删除逻辑删除恢复 命令格式: RECA FOR/WHIL 命令说明: 撤除指定范围内符合的记录的删除标记 范围、条件项都缺省时,只恢复当前记录;范围缺省时默认为ALL 例: 2 DELE NEXT 5 RECA ALL FOR 性别=男 LIST,2020/10/14,62,3 3 表的编辑,表记录的删除物理删除 命令格式: PACK 命令说明: 把已打上删除标记的记录真正从表中抹掉 物理删除是真正的删除,不可再恢复 以上三种表记录的删除可通过菜单来实现(演示) 表记录的删除删除所有记录 命令格式: ZAP 命令说明: 直接删除表中全
28、部记录,仅保存其结构。 它也是真正的删除,所有记录将不可再恢复,2020/10/14,63,3 3 表的编辑,表的操作总结,2020/10/14,64,3 4 表的复制,表的复制表结构的复制 命令格式: COPY STRU TO FIEL 命令说明: (例新书P68页) 把当前打开的表中由字段名表所指定的字段的结构复制到以新表名命名的表中去 复制的字段如包括有M型字段,则自动建立相应的.FPT备注文件 字段名表中字段名的顺序可任意,复制后的新表结构的字段将按此顺序排列,2020/10/14,65,3 4 表的复制,表的复制表文件的复制(对已打开的表) 命令格式: COPY TO FIEL FO
29、R 命令说明: (例新书P69页) 把当前打开的表中指定的记录范围内,满足条件的记录,按字段名表所列的字段的内容连结构复制到以新表名命名的表中去 复制的字段如包括有M型字段,则自动建立相应的.FPT备注文件;字段名表中字段名的顺序可任意,复制后的新表结构的字段将按此顺序排列,2020/10/14,66,3 4 表的复制,表的复制表文件的复制(对未打开的表) 命令格式: COPY FILE TO 命令说明: 把由指定的表结构和数据全部复制到由指定的另一个表中去,如果目标文件存在则覆盖原来内容 COPY FILE TO文件名可以是任何类型,但必须是全名,且源文件必须未打开 相对COPY TO 只能
30、复制表文件,所以不必是全名,且源文件必须打开,2020/10/14,67,3 4 表的复制,表的复制表的成批数据传送 命令格式: APPE FROM FIEL FOR 命令说明: (例新书P70页) 将其它表名中符合条件的记录按照指定字段追加到当前表中 只追加即源文件中与被追加的表的字段名和字段类型相同的那些字段,若两表文件的字段宽度不同则以当前被追加的表为基准 可在浏览窗口中用表追加记录来实现,2020/10/14,68,3 4 表的复制,表的复制生成表结构描述文件 命令格式: COPY STRU EXTENDED TO FIEL 命令说明: (例新书P71页) 将当前打开的数据库文件的结构
31、作为数据库记录复制到中 表的复制利用结构文件建立表文件的结构 命令格式: CREATE FORM ,2020/10/14,69,3 5 表的排序与索引,表的排序 1.排序文件一种特殊的表 关键字(关键字段):作为排序标准的字段 2.排序命令 命令格式: SORT ON /C/D TO FIEL FOR/WHILE 命令说明: 逻辑型、备注型和通用型字段不能作排序关键字 即生成的排序文件,扩展名为 . DBF,2020/10/14,70,3 5 表的排序与索引,/C选项只对字符型字段有效,排序时不区分字母的大小写;缺省时区分。 /D选项按降序排序,否则默认为升序排序。 可取多个,按列举的先后排序
32、。 用SORT生成的排序文件必须打开才能使用,即排序的结果是生成在一个表文件中。 例:USE RSDA (见书P122页) SORT ON 基本工资/D TO RSDA1 SORT ON 基本工资/D,出生日期 TO RSDA2 USE RSDA1 LIST,2020/10/14,71,3 5 表的排序与索引,表的索引 1.索引文件是存储的一组记录指针,它并不改变表中所存储数据的顺序,只改变VFP读取每条记录的顺序。 索引文件是按索引字段值的升序排序的; 索引文件分单索引文件和复合索引文件两种:.IDX和.CDX,按 工资 进行 索引,1 2 3,2 1 3,2020/10/14,72,3 5
33、 表的排序与索引,2.索引文件的建立 命令格式: INDE ON TO 命令说明: 只能是C型、N型、D型和Y型,生成索引文件为.IDX 若索引字段有多个必须把N、D、Y型的字段转换成C型并按顺序用“+”连接在一起 例:INDEX ON -基本工资 TO RSDA1 INDEX ON 职称+STR(基本工资,7,2) TO RSDA2,2020/10/14,73,3 5 表的排序与索引,3.索引文件的打开 (1)在打开表的同时打开索引文件 命令格式: USE INDE 命令说明: 一个表最多可同时打开七个索引文件 索引文件之间用“,”分隔,表的内容按排在最前面的为主索引文件的排列顺序显示。,表
34、文件RSDA,索引文件,索引文件,表文件RSDA,2020/10/14,74,3 5 表的排序与索引,3.索引文件的打开 (2)用专门命令打开索引文件 命令格式: SET INDE TO 命令说明: 对当前已打开的表打开索引文件,同时关闭其它未在此列出的索引文件,表文件RSDA,索引文件,索引文件,表文件RSDA,2020/10/14,75,索引文件打开后,对于SKIP、NEXT 、TOP、BOTT等均有效,若给出具体记录号则是指原表中的记录编号。 (例见P223页),1 2 3,Use rsda List,Use rsda inde rsda1 或 Set inde to rsda1 Lis
35、t,2 1 3,Go bott disp,Go top disp,Disp next 2,Go 1 disp,2020/10/14,76,3 5 表的排序与索引,4.重新索引 命令格式: REIN 命令说明:对表进行修改而之前未打开索引文件时,为实现索引文件与修改后表的匹配,要对当前打开后的索引文件重新建立索引。 例:索引文件和表同时打开将按现表自动更新 USE RSDA INDE RSDA1,RSDA2 DELE RECO 6 PACK,2020/10/14,77,3 5 表的排序与索引,索引文件未在修改表前打开需重新索引 USE RSDA DELE RECO 6 PACK SET INDE
36、 TO RSDA1,RSDA2 REIN,表文件 RSDA,表文件 RSDA,5.索引文件的关闭 SET INDE TO或 CLOSE INDEX,2020/10/14,78,3 5 表的排序与索引,排序与索引的主要区别 排序生成的是表文件.DBF,可单独使用; 索引生成的是索引文件.IDX,不能单独使用,排序可生成升序或降序两种排列; 索引只能做升序排列 排序可对多个关键字进行排序; 索引要形成索引关键字表达式才能排列,表文件 RSDA,排序表 RSDA1,表文件 RSDA,2020/10/14,79,3 6 信息查询,表的信息查询条件查询(定位查询) 命令格式: LOCA FOR 命令说明
37、:(见旧书P206页) 顺序查找记录,把记录指针指向满足条件的第一个记录。 举例说明:LOCA FOR 姓名= “李”,1 2 3,2020/10/14,80,3 6 信息查询,用CONT命令继续寻找符合条件的其他记录号。 举例说明:LOCA FOR 性别=女 DISP CONT DISP,1 2 3,2020/10/14,81,3 6 信息查询,表的信息查询快速查询(索引查询) 给表建立了索引文件之后,利用索引文件实现对表记录的查询称为索引查询,亦称为快速查询。 命令格式一:SEEK 命令说明: 对当前已打开的表在其索引文件中寻找到索引关键字值与相同的第一个记录 检 索 前必须建立或打开与对
38、应的索引文件 必须与对应的索引关键字类型相一致 如果是双重索引则检索时使用双重数据,且必须是字符串连接的形式,2020/10/14,82,3 6 信息查询,命令格式二: FIND 命令说明: 同SEEK命令,但不能使用复杂的表达式; 不能检索日期型关键字; 检索数值型要先转换成字符型; 检索字符型可不必使用界限符。 快速查询到的记录也要用DISP才能显示出来 要查询下一个记录只需用SKIP,在用DISP显示。 例:旧书P228-229页。,2020/10/14,83,3 7 表的数据统计,数据统计表记录数统计 命令格式: COUN FOR TO 命令说明: 对当前打开的表统计指定范围内满足的记
39、录数,结果保存到指明的中。 缺省时仅在主窗口显示结果。 举例说明: COUN,2020/10/14,84,3 7 表的数据统计,COUNT FOR 性别=男 TO X (?X 或 LIST MEMO) COUN NEXT 3 FOR 婚否 数据统计对表的数值字段求和 命令格式: SUM FOR TO 命令说明: 对当前打开的表中,对指定范围内满足的所有记录依次求出字段表所列各数值字段的总和,结果分别保存到指明的中。,2020/10/14,85,3 7 表的数据统计,内存变量的个数和次序要与表的所有数值字段相对应。 举例说明: USE RSDA SUM 基本工资,奖金 TO A,B SUM TO
40、 A,B 数据统计对表的数值型字段求平均值 命令格式: AVER FOR TO ,2020/10/14,86,3 7 表的数据统计,命令说明: 对当前打开的表中,对指定范围内满足的记录求字段表所指定的数值型字段的平均值,结果依次存入中。 数据统计对表的数值型字段分类汇总 命令格式: TOTA ON FOR TO 命令说明: 对当前打开的表中指定范围内满足的,2020/10/14,87,3 7 表的数据统计,记录以指定关键字段作为分类标准,按类汇总所列各个数值字段的值。每类汇总得到一个记录,统一保存到由所指定的分类汇总文件中。 被操作的表必须先按进行索引,如果相应的索引文件已建立,则要将其打开,
41、否则不能使用此命令。 生成的汇总文件用于存放汇总结果,它也是一个表文件,扩展名 .DBF 可以省略。 例: USE RSDA INDE RSDA1 TOTA ON 基本工资 TO RSHZ,2020/10/14,88,3 7 表的数据统计,用多条SUM命令可实现分类汇总的功能:(一)、USE RSDA INDE ON 职称TO RSDA1 TOTA ON 职称 TO ZCHZ USE ZCHZ LIST (二)、USE RSDA SUM FOR 职称=高工 TO A1,B1 SUM FOR 职称=工程师 TO A2,B2,2020/10/14,89,3 7 表的数据统计,表CJ.DBF有班号(
42、C型)、姓名(C型)、管理学(N型)、统计学(N型)、计算机(N型)、总分(N型)共6个字段,记录如下:,班号 姓名 管理学 统计学 计算机 总分 1 李林 87 65 71 3 符中扬 57 85 61 1 刘流 73 64 90 2 韩夕 80 84 98 2 张丽 89 74 71 3 王小园 62 47 88,2020/10/14,90,3 7 表的数据统计,1.在字段总分后增加一个平均分字段 MODI STRU 2.求出并填入每位学生的总分和平均分 REPL ALL 总分 WITH 管理学+统计学+计算机, 平均分 WITH 总分/3 3、增加一个记录,其中姓名字段放入平均分,各课程
43、字段均存放它们的平均成绩,2020/10/14,91,3 7 表的数据统计,APPE BLAN SUM TO A,B,C,D,E REPL 姓名 WITH “平均分”,管理学 WITH A,统计学 WITH B,计算机 WITH C 4、求3班计算机成绩在60分以上的学生数,并将结果存在变量S中 COUN FOR 计算机=60 .AND. 班号=3 TO S,2020/10/14,92,3 8 数据库文件的操作,5、按班号对各班学生的总分进行汇总 INDE ON 班号TO SY TOTA ON 班号TO HZ FIEL 总分 文件操作定义当前工作盘和当前目录 命令格式: SET DEFA TO
44、 命令说明:指定VFP系统的当前工作驱动器或当前目录,操作位于当前驱动器和目录上的文件时,无须再指明。,2020/10/14,93,3 8 数据库文件的操作,文件操作有关目录的命令 1.显示目录 命令格式: DIR LIST FILE 命令说明: 按指定路径显示目录。 2.指定默认目录的命令 命令格式: CD 命令说明:将默认路径更改为指定的目录.,2020/10/14,94,3 8 数据库文件的操作,3.在磁盘上创建一个新目录 命令格式: MD 命令说明: 建立指定的子目录。 举例说明: MD SUBD1 (在当前目录下建立子目录) MD SUBD2 (在根目录下建立子目录),2020/10
45、/14,95,3 8 数据库文件的操作,4.从磁盘上删除一个目录 命令格式: RD 命令说明: 删除由指定的子目录 举例说明: RD VFP5SUBD1 RD SUBD2 5.复制任何类型的文件 命令格式: COPY FILE TO ,2020/10/14,96,3 8 数据库文件的操作,6. 删除磁盘文件 命令格式一: ERAS |? 命令说明:删除在指定目录下由文件名指定的文件。 命令格式二: DELE FILE |? 命令说明:删除在指定目录下由文件名指定的文件。,2020/10/14,97,3 8 数据库文件的操作,7.执行外部操作命令或程序 命令格式: RUN/! 命令说明:在VFP
46、命令窗口运行指定目录下的DOS命令或程序。 举例说明: RUN DIR !COPYFOX*.* A:,2020/10/14,98,39 多重数据库操作,多重数据库操作 1、工作区的选择与互访 用户在使用两个或以上表文件时,需在不同的表中使用命令,并能随时在表之间切换,可用划分工作区来实现。VFP一次最多能使用225个工作区,每个工作区只打开一个表文件。 工作区的标识 用1225个数字,默认工作区为1; 用AJ标识前10个工作区,称为工作区别名; 用各工作区打开的表文件的来代表其工作区。 USE ALIAS ,2020/10/14,99,39 多重数据库操作,工作区的选择命令 命令格式: SEL
47、E 命令说明:以指定或的方法选择工作区,作为当前工作区。 举例说明: SELE 2 USE RSDA ALIAS W SELE C USE GZ,2020/10/14,100,39 多重数据库操作,工作区的互访 命令格式: - 命令说明:以指定或的方法选择工作区,作为当前工作区。 举例说明: 姓名 W-职称 C-工资 关联:建立两个表文件指针之间的联系,当主动表文件记录指针移动时,被动表文件指针也按照关联规则发生移动。 主动表文件当前工作区的表 被动表文件其它工作区被关联的表文件,2020/10/14,101,39 多重数据库操作,SET RELATION TO INTO ADDI INTO
48、指定被关联的表文件 ADDI缺省时,在新建立的关联的同时,将先前建立的关联全部撤消。 关联方法一:关联方法 以的值作为记录号,主动、被动表文件按记录号建立关联; 如以RECN()的值建立关联,则被动表文件与主动表文件的记录指针指向同一个记录。,2020/10/14,102,39 多重数据库操作,SELE 1 USE GZ SELE 2 USE RSDA SET RELA TO RECN() INTO A LIST FIEL 姓名, 职称, A-奖金,1 2 3,1 2 3,1区GZ.DBF,2区RSDA.DBF,2020/10/14,103,39 多重数据库操作,关联说明: 注意关联以后不同的
49、字段可能在不同的表中,引用非当前表的字段时必须加上别名; 建立关联以后被动表文件的指针是随着主动表文件的记录指针的移动而移动,但反过来,被动表文件并不影响主动表文件的指针。,GO 2 SELE 1 DISP,SELE 1 GO 3 SELE 2 DISP,一般来说记录内容与记录号之间不一定有对应关系,因此按记录号建立关联不一定可行;,2020/10/14,104,39 多重数据库操作,关联方法二:关联方法 主动、被动表文件必须共同拥有所含字段; 被动表文件必须事先按 建立索引文件。 SELE 1 USE GZ INDE ON 姓名 TO GZ1 SELE 2 USE RSDA SET RELA
50、 TO 姓名 INTO A LIST FIEL 姓名, 职称, A-奖金,2020/10/14,105,39 多重数据库操作,连接:将两个表文件结合起来,组成一个新文件 命令格式: JOIN WITH TO FOR FIEL 命令说明: 将当前工作区打开的表文件与由别名指定的工作区中打开的表文件连接,形成以指定字段组成,从两个源文件按条件组成记录的新表。 事先要打开两个表文件: 在当前工作区打开一个被连接的表; 在指出的工作区打开另一个被连接的表。,2020/10/14,106,39 多重数据库操作, FOR 是必选项,用来描述连接条件。 FIEL 缺省时,则新表的结构将包括两个表文件的所有字
51、段,次序时先当前表再取表的字段。若两表文件有重复以当前表中字段为准。备注字段不应参加连接 连接命令形成的是一个新表,并不改变原来的两个表文件。 SELE 2 USE RSDA SELE 3 USE GZ,2020/10/14,107,39 多重数据库操作,SELE 2 JOIN WITH C TO RSJJ FOR 姓名=C-姓名 FIEL 姓名, 职称, 奖金 USE RSJJ LIST,1 2 3,1 2 3,3区GZ.DBF,2区RSDA.DBF,RSJJ.DBF,2020/10/14,108,39 多重数据库操作,更新:不必建立关联,从一个表文件提取数据,来修改另一个表文件的内容。 命
52、令格式: UPDA ON FROM REPLWITHRAND 命令说明: 在当前工作区打开一个需更新的表; 在指出的工作区打开被提供数据的表。 是两个表文件共有的字段 缺省RAND两个表均需索引,否则当前表也必须索引。,2020/10/14,109,39 多重数据库操作,用RSDA.DBF中的工资数据来更新GZ.DBF中工资的字段。 SELE 2 USE RSDA INDE ON 姓名 TO RSDAID SELE 1 USE GZ INDE ON 姓名 TO GZID UPDA ON 姓名 FROM B REPL 工资 WITH B-工资,RAND,2020/10/14,110,39 多重数
53、据库操作,1 3 2,3 1 2,2区RSDA.DBF,1区GZ.DBF,120.00,280.00,145.00,2020/10/14,111,第 3章 练习与思考,1判断题 在同一工作区,如果多次用USE命令打开不同的表文件,就会有多个当前表文件。 任何一个表文件,使用时都必须写扩展名。 使用USE命令时,后面不指定任何文件,则表示打开所有的文件。 2写出LIST和DISP的区别 3阐述物理删除和逻辑删除的区别 4有那些命令可以给表文件输入数据 5新书P103页5、6; 8、9;1315 6旧书P240页20、31、32,2020/10/14,112,第 4 章 Fox Pro 程序设计,
54、一 程序设计概述 二 程序的建立与执行 三 顺序程序设计与常用语句 四 分支程序设计 五 循环程序设计 六 数组应用 七 子程序、过程与自定义函数的程序设计 八菜单程序设计技巧 九 环境参数设置命令 练习与思考,2020/10/14,113,4 1 程序设计概述,VFP的程序 是指示VFP执行的一系列指令集合。 程序基本结构 顺序结构, 分支结构,循环结构,1,2,3,1,N Y,3,2,1,N Y,3,2,2020/10/14,114,4 2 程序的建立与执行,程序的基本构成 程序由若干条程序行组成 每一程序行由一条语句或命令组成 每一行都以键结束。若一行写不完,可在分行处加上; 程序末尾可
55、加结束语句如:cancel、return、quit等; 程序可开始或行后可加注释。,2020/10/14,115,4 2 程序的建立与执行,程序文件的建立与编辑 命令格式: MODI COMM | ? 命令说明: 启动文本编辑器来建立或编辑程序文件.prg 若程序文件不存在,则建立新的程序; 若存在,则调入程序文件并显示在编辑窗口以便修改。 通过菜单“文件”/“新建” 程序 选项建立新程序。 通过菜单“文件”/“打开” 选择文件类型和名称。,2020/10/14,116,4 2 程序的建立与执行,程序文件的编译和运行 编译程序命令格式: COMPILE 命令说明:将VFP源程序转换为目标程序,
56、编译后扩展名为.FXP。可用菜单“程序”/“编译”实现。 运行程序命令格式: DO 命令说明:查找编译后的.FXP文件或将.PRG转换为.FXP后执行;可用菜单“程序”/“运行”实现。 一般可直接运行输入的程序,不必单独编译。,2020/10/14,117,4 3 顺序程序设计与常用语句,顺序程序设计 程序设计中常用语句 1、输入类 (1)赋值语句 (2)交互式语句 INPUT TO 系统执行到此命令自动停下等待用户从键盘输入信息。 可输入N、C、L和D型数据。注意数据类型的正确写法。,2020/10/14,118,4 3 顺序程序设计与常用语句,ACCEPT TO 只能输入C型数据。可不用定
57、界符。 WAIT TO TIMEOUT 只能输入一个字符的C型数据。并可设置等待时间,超过等待时间自动将0作为输入值。 (2)内存变量文件的建立 SAVE TO ALL LIKE/EXCEPT ,2020/10/14,119,4 3 顺序程序设计与常用语句,命令说明: 将当前内存中按可选项指定的内存变量存入指定的内存变量文件。 内存变量文件系统默认扩展名为.MEM。 无可选项将所有内存变量都存入内存变量文件。 ALL LIKE 指将当前内存中所有与相匹配的变量存入; ALL EXCEPT 指将当前内存中除了与相匹配的其余变量存入;,2020/10/14,120,4 3 顺序程序设计与常用语句,
58、例:设当前内存中共有S1、S2、N1、N2、D、L共6个内存变量 SAVE TO F1 SAVE TO F2 ALL LIKE S* SAVE TO F3 ALL EXCEPT S*,F2 S1、S2,F1 全部,F3 N1、N2、D、L,2020/10/14,121,4 3 顺序程序设计与常用语句,(3)内存变量文件的恢复 RESTORE FROM ADDITIVE 命令说明: 将指定内存变量文件中的所有内存变量文件调入内存。 当ADDITIVE缺省时,先清除当前内存中所有内存变量,再将内存变量文件中的变量调入。 当有ADDITIVE 选项,则不清除当前内存中内存变量,在此基础上增加从内存变量文件中恢复的内存变量。,2020/10/14,122,4 3 顺序程序设计与常用语句, 如果恢复的内存变量与原来在内存中的变量重名,则将覆盖原有的变量。 例: REST FROM F1 DISP MEMO,REST FROM
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 重大交易事项审计制度
- 2026浙江武易购贸易有限公司招聘1人笔试备考试题及答案解析
- 2026江西萍乡莲花县统计局招聘编外工作人员3人考试备考试题及答案解析
- 2026年及未来5年市场数据中国厨卫门行业市场深度研究及投资战略规划报告
- 2026吉林通化辉南县就业见习人员招聘54人考试备考题库及答案解析
- 抚养费约定离婚协议书
- 2026年甘肃省嘉峪关市妇幼保健院招聘专业技术人员笔试备考试题及答案解析
- 2026四川乐山犍为县教育局面向县内选调教师和研训员37人笔试备考题库及答案解析
- 筒并摇工班组管理水平考核试卷含答案
- 2026辽宁营口职业技术学院招聘教师11人笔试备考试题及答案解析
- 少年宫教师培训制度
- 液氧储罐安全知识培训课件
- 新污染物治理培训课件
- 电力建设安全风险管控与隐患排查治理双重预防机制管理导则
- 2025年高中信息技术考试试题及答案
- 中建三局2023年《幕墙工程管理指南》
- 《NBT 31115-2017 风电场工程 110kV~220kV 海上升压变电站设计规范》(2026年)实施指南
- 【《基于STC单片机的智能防干烧电热水壶控制系统设计》9400字】
- 出境竹木草制品自检自控计划
- 高温环境进气道结构设计-洞察及研究
- 大宗贸易基本知识培训课件
评论
0/150
提交评论