临沧师范高等专科学校-信息科学与技术系_第1页
临沧师范高等专科学校-信息科学与技术系_第2页
临沧师范高等专科学校-信息科学与技术系_第3页
临沧师范高等专科学校-信息科学与技术系_第4页
临沧师范高等专科学校-信息科学与技术系_第5页
已阅读5页,还剩206页未读 继续免费阅读

下载本文档

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

文档简介

1、临沧师范高等专科学校信息科学与技术系第6章 VFP6应用程序设计结构 临沧师范高等专科学校信息科学与技术系数据类型和字段类型数据类型和字段类型1. 字符型字符型(Character)* 必须用西文方式的单或双引号括起。* LOCATE FOR 雇员.职务=总经理* 学号、书号、电话号码、邮政编码(注意不宜用数值型)2. 货币型货币型(Currency) cPrice=$100.356临沧师范高等专科学校信息科学与技术系数据类型和字段类型数据类型和字段类型3. 日期型日期型(Date) birthday=05/20/1980 Dblankdate= 日期格式受SET DATE、SET MARK、

2、SET CENTURY命令的影响 工具/选项/区域4. 日期时间型日期时间型(DateTime) tdatetime=4/17/ 2000 8:30pm Tdateonly=4/17/ 2000 Ttimeonly=8:30pm Tblankdate= : 时间格式受SET HOURS、SET SECONDS命令的影响临沧师范高等专科学校信息科学与技术系数据类型和字段类型数据类型和字段类型5. 数值型数值型(Numeric) STORE 3.14159 TO pi temp=100.126. 逻辑型逻辑型(Logical) STORE .T. TO found Flag=.F. 7. 通用型通

3、用型(General) 用于在表中存储OLE(对象链接与嵌入)对象临沧师范高等专科学校信息科学与技术系常量:其值不发生变化的量(1)常量常量分为四种类型:数值型(N):直接由数字或+、-、小数点构成。字符型(C):由字符、汉字组成,需加定界符。如沈阳、”沈阳 ” 、 沈 阳 , 同 一 定 界 符 不 能 嵌 套 ,如:“AB”CD”,但 AB”CD”是合法的。日期型(D):用定界。 如00-08-30 或CTOD(“01/08/30”)逻辑型(L):用.定界。如.t.、.f.,.Y.,.N.等说明:请注意C、D、L型常量的定界符。注意区分”2010”为字符型常量,而不是数值型常量。逻辑型常量

4、必须用“.”定界。注意各类型数据的宽度。常量临沧师范高等专科学校信息科学与技术系常量常量 编译时常量编译时常量 用 #DEFINE预处理命令定义 如:#DEFINE OPER “输入的数据非法!” #DEFINE pi 3.1415926 不能另作它用临沧师范高等专科学校信息科学与技术系变量:程序运行中,值可能会发生变化的量 变量是内存中的一个存储单元的位置变量是内存中的一个存储单元的位置 变量名是存储位置的符号标识变量名是存储位置的符号标识 存储位置中存放的数据在程序操作期间通过存储位置中存放的数据在程序操作期间通过该名称来读写该名称来读写变量临沧师范高等专科学校信息科学与技术系变量分类:字

5、段名变量 数据表中已定义的数据项 每一个字段可有不同的取值表有一个记录指针,它指向的记录定义为当前记录,字段名变量的现值,就是当前记录中对应字段的值。记录指针是可以移动的,因此,字段名的取值随着指针的移动而改变,所以它是变量内存变量 独立于数据库之外的临沧师范高等专科学校信息科学与技术系变量的创建 赋值格式:Store 表达式 to 变量变量=表达式 在赋值的同时,完成了变量的创建STORE 3 TO nVar nVar = 3临沧师范高等专科学校信息科学与技术系访问变量 如字段变量和内存变量同名:则字段变量具有更高的优先权 此时内存变量访问 M.内存变量 M-内存变量临沧师范高等专科学校信息

6、科学与技术系变量作用域局部变量: 用LOCAL指定局部变量 创建它的文件中使用与修改 不能在更高层与低层中引用私有变量: 子程序中使用 用PRIVATE指定私有变量(可以与上层同名 )全局变量: 用PUBLIC指定全局变量(公共 ) 任何运行的程序都能使用和修改 在命令窗口中创建的任何变量或数组被自动赋予全局属性临沧师范高等专科学校信息科学与技术系public mLocal n . . .m =3n=4do sub . . .Procedure sub Private m ? m ? n临沧师范高等专科学校信息科学与技术系字段名变量数据表中已定义的数据项每一个字段可有不同的取值表有一个记录指针

7、,它指向的记录定义为当前记录,字段名变量的现值,就是当前记录中对应字段的值。记录指针是可以移动的,因此,字段名的取值随着指针的移动而改变,所以它是变量当前记录:记录指针指向的记录*表刚打开,当前记录是第一条记录移动记录指针移动记录指针:GO TOP|BOTTOM|:绝对移动记录指针。SKIP :相对移动记录指针 临沧师范高等专科学校信息科学与技术系移动记录指针移动记录指针说明: 注意区别命令GO TOP和GO 1,在索引文件打开时,前者把记录指针移到数据库的第一条逻辑记录,而后者为把记录指针移到记录号为1的物理记录上 若库中有记录,执行G0 TOP和GO BOTTOM后,函数BOF()和EOF

8、()的值均为F。使BOF()为真,SKIP-1;使EOF()为真SKIP 若库中无记录,函数BOF()和EOF()的值均为.T.。 SKIP命令无任何选项时,表示向下移动一条记录,多用在对数据库中所有记录逐一处理的循环结构中,在程序填空中经常出现。临沧师范高等专科学校信息科学与技术系移动记录指针实例移动记录指针实例 Go 1 Skip 2 ? 编号 skip Go bottom ? 编号 Skip 1 ? 编号编号 姓名101 张三102 王一103 刘六104 李四105 赵七106 朱八表一2临沧师范高等专科学校信息科学与技术系内存变量 变量名:是以汉字、字母、数字或下划线组成的字符串,串

9、长最多为10个字符或5个汉字变量名必须以字母或汉字开头,下划线必须嵌在变量名中间,但不能嵌入空格符 内存变量分为四种类型:数值型、字符型、逻辑型和日期型 变量赋值格式:内存变量=表达式STORE 表达式=内存变量表功能:把表达式的值送到内存变量中 例如: A=20 B=100临沧师范高等专科学校信息科学与技术系 数组:名字相同、用下标区分的内存变量称为数组 主要有以下特点:(1)数组元素的类型,由所赋的值来决定(2)数组变量可以不带下标使用 在赋值语句的右边,表示该数组第一个元素 在赋值语句的左边,表示该数组所有元素(3)数组和数据表之间可相互转换 即数据表中数据可以转换为数组数据 数组数据也

10、可以转换为数据表中的数据临沧师范高等专科学校信息科学与技术系1.定义数组 数组名的取法和一般的变量名取法相同 定义数组命令: DIMENSION 数组名(,) ,( 命令功能:定义一个或多个内存变量数组。 说明:最多可有3600个元素,显示内存时只算一个变量数组下标起始值是1数组元素隐含的逻辑值为“假”*二维数组,可用一维下标来存取。这是由于在内存中,二维数组元素是按行列次序排列它们每个元素都可看作单独一个内存变量使用,临沧师范高等专科学校信息科学与技术系数组实例 DIMENSION b(2,3) ? A4 ? A(2,1) ? A6 ? A(2,3) A(1,1) A(1,2) A(1,3)

11、 1 2 3 A(2,1) A(2,2) A(2,3) 4 5 6临沧师范高等专科学校信息科学与技术系 变量:专用 在程序中用DIMENSION建立的数组为专用公用 命令窗口下建立的数组为公用 在程序中建立公用的数组用PUBLIC命令 格式为:PUBLIC数组名(,) 例如: DIMENSIOM A(4),B(2,3) 建立一维数组A和二维数组B 二维数组有六个元素: 分别为B(1,1)、B(1,2)、B(1,3)B(2,1)、B(2,2)、B(2,3)临沧师范高等专科学校信息科学与技术系数组的赋值 格式: STORE 表达式 TO 数组名 数组名=表达式 命令功能:将表达式的值赋给数组变量上

12、述两个命令是完全等价的 给数组赋值还可用ACCEPT、INPUT、WAIT语句临沧师范高等专科学校信息科学与技术系数组变量的显示 命令格式: LISTDISPLAY MEMORY 命令功能:显示内存变量(数组变量)可以用RELEASE和CLEAR MEMORY命令删除掉已定义的数组(整个数组)可以用SAVE命令同内存变量一起保存到磁盘内存文件(.MEM)中,需要时用RESTORE命令同内存变量一起从磁盘文件中恢复临沧师范高等专科学校信息科学与技术系Iif()根据逻辑表达式的值,返回两个值中的某一个。语法:IIF(lExpression, eExpression1, eExpression2)参

13、数:lExpression指定要计算的逻辑表达式。 eExpression1, eExpression2如果 lExpression 计算结果为“真”(.T.),返回 eExpression1;如果 lExpression 为“假”(.F.),则返回 eExpression2。返回值类型:字符型、数字型、货币型、日期型或日期时间型说明 该函数也称作 Immediate IF。它计算一个逻辑表达式的值,然后根据计算结果,返回两个表达式中的一个。如果逻辑表达式的值为“真”(.T.),则 IIF( ) 返回第一个表达式;如果逻辑表达式的值为“假”(.F.),则 IIF( ) 返回第二个表达式。提示

14、对于简单的条件表达式,该函数可以代替 IF . ENDIF 语句。在按条件指定报表和标签表达式中的字段内容时 IIF( ) 特别有用。IIF( ) 函数比等价语句 IF . ENDIF 执行速度快得多。临沧师范高等专科学校信息科学与技术系表达式 表达式:是由常数、变量、函数和运算符组成的一个有物理意义的式子表达式总有一定的运算结果,即有一个值,所以表达式也是一种数据 表达式分为(表达式结果):数值表达式字符表达式关系表达式逻辑表达式临沧师范高等专科学校信息科学与技术系表达式的输出命令: 格式: ?, 功能: 计算表达式的值,并在屏幕或打印机上输出 例如: ? 4*6+1034临沧师范高等专科学

15、校信息科学与技术系1.数值表达式 数值表达式:是由算术运算符和数值型常数、变量、函数组成。运算结果为数值型数据。算术运算符为:+ - * ( ) 优先次序:括号、函数、乘方、乘除和加减,同级运算从左到右依次进行 如:362EXP(8) LOG(20) 25临沧师范高等专科学校信息科学与技术系2.字符表达式 字符表达式:是由字符运算符和字符型常数(即用定界符括起来的字符串)、变量、函数组成运算结果是字符型数据 三种字符串运算:*完全连接运算格式:字符串1字符串2功能:将两个字符串连接为一个字符串。例如:? THIS IS A PENTHIS IS A PEN *完全连接是指两个字符串合并,即包括

16、空格在内的字符串中所有字符相加。临沧师范高等专科学校信息科学与技术系不完全连接运算格式:字符串1字符串2功能: 也是将两个字符串连接为一个字符串,但是删去字符串1尾部的空格符例如:? “首都*北京首都:北京*注:串1尾部的空格移到串1后临沧师范高等专科学校信息科学与技术系包含运算 格式:串1串2 功能:如串1包含在串2中,表达式的值为真,否则为假 例如:ABACBTE结果为假(F)ABABCDE结果为真(T) 注:包含运算是字符串的关系运算关系运算返回的是逻辑值临沧师范高等专科学校信息科学与技术系3.关系表达式 关系表达式:是由关系运算符与字符表达式或数值表达式组成结果是一个逻辑值关系成立结果

17、取真(.T.),不成立结果取假(F)关系运算符两边的数据类型要一致,(同类型) 关系运算符有6种:=,=, 、#或!= 注:字符的比较是ASCII码值的大小 空格0-9A-Z100? CH5.and.”ab”$”abcde”临沧师范高等专科学校信息科学与技术系表达式例:表达式例: 算术表达式:结果为数值型。如3+2 字符表达式:结果为字符型。如 Good +Morning 或Good -Morning 日期表达式:结果为日期或数值。如DATE()+5 、DATE()-5 或DATE()-00-08-20 关系表达式:结果为逻辑型。如”AB”$”ABCD”、”AB”2 .AND. .NOT.56

18、说明:在日期型表达式中,两个日期表达式相减,结果为数值,表示两日期之间相差的天数,两日期表达式相加,属非法表达式;一个日期表达式与一个数值表达式相加,结果为日期型表达式,表示从当前日期往后数N天;一个日期表达式与一数值表达式相减,表示从当前日期向前数N天。逻辑表达式包含关系表达式,关系表达式中包含算术表达式。注意,关系表达式与逻辑表达式的结果都为逻辑型。临沧师范高等专科学校信息科学与技术系命令格式 由两部分组成命令动词,表示应执行的操作若干个短语,对操作提供某些限制性说明。 一般格式如下: 命令动词 短语如:copy to aa for 性别=“男”临沧师范高等专科学校信息科学与技术系与表有关

19、的命令 与表有关的命令格式: 命令动词 范围 FOR FIELDS 命令中的FOR、FIELDS是关键字,用户不得随意更改。 约定: 表示可选项,不选用系统的默认值表示必选项:表示对表记录操作的范围 ALL 表示全体记录 NEXT N 当前记录开始后续共计 N 个记录 RECORD N 特指第 N 号记录。 REST 从当前记录开始到表尾的所有记录FOR条件 选择操作FIELDS 投影操作临沧师范高等专科学校信息科学与技术系操作释例 Go 3 Disp all Go 2 Disp next 2 Go 3 Disp rest Go 3 Disp record 5编号 姓名101 张三102 王一

20、103 刘六104 李四105 赵七106 朱八表一Go 1List for 编号101.and.编号“105”选择操作Go 1List fields 姓名投影操作临沧师范高等专科学校信息科学与技术系命令书写的规则 命令以命令动词,与动词短语的顺序无关 用空格来分隔各单词短语 命令的最长是254个字符,用分行符;分行 命令动词和关键字可以缩写为前四个字符如MODIFY STRUCTURE可写为MODI STRU 不分大小写,可以混合使用 变量名、字段名和文件名时,应避免与命令动词和关键字同名,以免运行时发生混乱临沧师范高等专科学校信息科学与技术系End临沧师范高等专科学校信息科学与技术系6.2

21、 数据库的操作命令 常用的操作命令 包括数据库的建立打开设置关闭删除临沧师范高等专科学校信息科学与技术系1.创建数据库CREATE DATABASE 命令 命令格式:CREATE DATABASE 数据库名|? 命令功能:用于创建一个数据库临沧师范高等专科学校信息科学与技术系说明:(1)数据库名已经存在,则提示新的路径或文件名(2)参数“?”或无参数,弹出对话框,位置及名称(3)数据库以.DBC为其扩展名,以.DCT为备注文件,索引文件则以.DCX为扩展名(4)该命令以独占方式创建并打开一个数据库例如:创建一个名为t1.dbc的数据库,并显示有关数据库的信息CREATE DATABASE t1

22、 创建数据库t1CLEAR 清除屏幕DISPLAY DATABASE 显示数据库t1信息临沧师范高等专科学校信息科学与技术系2.打开数据库 用OPEN DATABASE命令打开已经存在的数据库 命令格式:OPEN DATABASE 数据库名|? 命令功能:打开一个指定的数据库。 说明:临沧师范高等专科学校信息科学与技术系6.2 数据库的操作命令 常用的操作命令 包括数据库的建立打开设置关闭删除临沧师范高等专科学校信息科学与技术系1.创建数据库CREATE DATABASE 命令 命令格式:CREATE DATABASE 数据库名|? 命令功能:用于创建一个数据库临沧师范高等专科学校信息科学与技

23、术系说明:(1)数据库名已经存在,则提示新的路径或文件名(2)参数“?”或无参数,弹出对话框,位置及名称(3)数据库以.DBC为其扩展名,以.DCT为备注文件,索引文件则以.DCX为扩展名例如:创建一个名为t1.dbc的数据库,并显示有关数据库的信息CREATE DATABASE t1 创建数据库t1CLEAR 清除屏幕DISPLAY DATABASE 显示数据库t1信息临沧师范高等专科学校信息科学与技术系2.打开数据库 用OPEN DATABASE命令打开已经存在的数据库 命令格式:OPEN DATABASE 数据库名|? 命令功能:打开一个指定的数据库。临沧师范高等专科学校信息科学与技术系

24、3.设置当前数据库 SET DATABASE TO命令 命令格式:SET DATABASE TO 数据库名 命令功能:设置当前数据库。临沧师范高等专科学校信息科学与技术系说明:(1)数据库名为当前要打开的数据库名称(2)略名,弹出一个显库对话框例如:OPEN DATABASE t1 库t1.dbcOPEN DATABASE t2 库t2.dbcDISPLAY DATABASE 显示当库t2.dbc的信息SET DATABASE TO t1 置t1为当前库DILPLAY DATABASE 显示当库t1的信息SET DATABASE TO t2 设t2为当库DISPLAY DATABASE 显库t

25、2.dbc的信息临沧师范高等专科学校信息科学与技术系4.关闭数据库命令格式:CLOSE DATABASE ALL 命令功能:关闭数据库。 说明:ALL用于关闭所有打开的数据库如果没有指定此参数,则将关闭当前数据库临沧师范高等专科学校信息科学与技术系5.删除数据库 命令格式:DELETE DATABASE 数据库名|? DELETETABLESRECYCLE 命令功能:删除数据库临沧师范高等专科学校信息科学与技术系说明 要删除的数据库文件必须保证处于非使用状态 ?弹出一个“删除”对话框 DELETE TABLES删除数据库中包含的表和包含这些表的数据库 RECYCLE文件放入回收站中,可恢复删除

26、的文件 SET SAFETY的值为ON,删文件前会提示用户 SET SAFTY设置为OFF,VFP将不做任何提示临沧师范高等专科学校信息科学与技术系表的操作命令 包括:创建表打开一个存在的表将一个自由表加入到 数据库中去从数据库中移去表显示表中信息关闭删除表临沧师范高等专科学校信息科学与技术系1.创建表 命令格式:CREATE 数据库表名 命令功能:创建数据库表或自由表,其扩展名为.dbf如有数据库打开,则该表是数据库表,且已加入到该数据库中否则,该表是自由表临沧师范高等专科学校信息科学与技术系 例如:新建一个表a1,将它包含到数据库t1中 OPEN DATABASE t1 打开数据库t1 C

27、REATE TABLE a1 创建表a1.dbf,将其包含到数据库t1中临沧师范高等专科学校信息科学与技术系2.将表加入到数据库中 命令格式:ADD TABLE自由表名|? 命令功能:将自由表加到指定数据库中去临沧师范高等专科学校信息科学与技术系说明: 自由表名指定要加入到一个已打开的数据库中的自由表的名称 不指定名称或“?”作为参数,弹出对话框 表一旦加入到库中,不再是自由可以通过REMOVE TABLE命令将该表从数据库中移出,使之成为新的自由表 临沧师范高等专科学校信息科学与技术系库中表的一些规定:必须是一个有效的.DBF文件不能与数据库中已存在的表重名一个表只能属于一个数据库,不能再成

28、为其他数据库中的表临沧师范高等专科学校信息科学与技术系3.将表从数据库中移出 命令格式:REMOVE TABLE 数据库表名|? DELETERECYCLE 命令功能:将数据库中的数据库表移出去使之成为自由表或删除表临沧师范高等专科学校信息科学与技术系说明: 参数?或忽略数据库表名时,对话框 参数DELETE 用于指定将表从数据库和磁盘中删除 RECYCLE参数,先放回收站中,不立即删,可恢复 与表相连的主索引、默认值及有效性规则将被删除 当一个表从数据库中移出时,它将变成一个自由表临沧师范高等专科学校信息科学与技术系例如 建2个表并加入到库t1中,而后执行删除命令 OPEN DATABASE

29、 t1 打开数据库 CREATE c1 创建表c1.dbf CREATE c2 创建表c2.dbf CLEAR 清屏幕 DISPLAY DATABASE 显示当前数据库信息 REMOVE TABLE c2 移动数据库表c2.dbf CLEAR 清屏幕 DISPLAY DATABASE 显示当前数据库信息 ADD TABLE c2 将表c2添加到当前库中 DELETE DATABASE t1 删除数据库t1临沧师范高等专科学校信息科学与技术系4.显示表的结构命令格式:LIST STRUCTURE TO PRINTER|TO FILE 文件名命令功能:显示表的结构 说明:(1)有TO PRINTE

30、R选项时,将屏幕显示的信息输出到打印机(2)有TO FILE 文件名选项时,将屏幕显示的信息输出到指定的文件临沧师范高等专科学校信息科学与技术系5.修改表的结构 命令格式:ALT TABLE 表名 命令功能:修改表的结构临沧师范高等专科学校信息科学与技术系6.输入记录 表的结构建立,没有数据,是空表 命令格式:APPEND BLANK 命令功能:从表的末尾追加记录BLANK,末尾追加一空记录,不出现APPEND输入记录窗口临沧师范高等专科学校信息科学与技术系7.打开表? 命令格式:USE 表名 命令功能:打开一个和多个已经存在的表 说明:表名用于指定需要打开表的名称临沧师范高等专科学校信息科学

31、与技术系8.关闭表 命令格式: USECLOSE TABLES ALL 命令功能:USE关闭已打开的表CLOSE TABLES ALL可以同时关闭多个表。 说明:及时关闭,从内存上卸下表,以防止操作不当临沧师范高等专科学校信息科学与技术系*记录指针定位 用RECNO()函数,可测试当前记录指针 绝对指针定位命令格式: GO TO TOP GO TO BOTTOM GO TO RECORD N GO TO 数值表达式 GO TO N 命令功能: 使记录指针指向表中的指定记录临沧师范高等专科学校信息科学与技术系 说明 GO TOP 定位第一个逻辑记录 GO BOTTOM 定位最后一个逻辑记录 GO

32、 RECORD N 指针定位到表的N号记录 GO数值表达式定到表达式值取整后的记录 GO N 指针定位到N号记录 当选用参数N时,GO、TO均可省略不写临沧师范高等专科学校信息科学与技术系2.相对指针转移 命令格式:SKIP +-数值表达式 命令功能:相对当前位置按表达式值移动若干个记录值为正时,指针向后移为负值时,指针向前移缺省选择项时指针向后移一个记录 说明:GO绝对定位,都定位到所指的记录SKIP是相对定位命令, 以当前记录为中心,按给定的表达式值相对地移动若干记录临沧师范高等专科学校信息科学与技术系记录的显示 两种格式:LIST 范围FIELDS字段名表FOR条件TO PRINTER

33、OFFTO FILE文件名NOCONSOLENOOPTIMIZEDISPLAY 范围FIELDS字段名表FOR条件TO P RINTEROFFTO FILE文件名NOCONSOLENOOPTIMIZE临沧师范高等专科学校信息科学与技术系说明:LIST=DISPLAY ALL显示的全部记录OFF时,不显示记录号有FOR条件显示出满足条件表达式的记录FIELDS字段名表,显示指定字段有范围,显示指定范围TO PRINTER,显示的结果送到打印机输出TO FILE文件名,结果输出到文件NOCONSOLE,不将显示结果送到主窗口和TO PRINTERTO FILE 文件名一起使用NOOPTIMIZE短

34、语时,不使用RUSHMORE优化技术临沧师范高等专科学校信息科学与技术系差别有两点: LIST缺省范围是显示全体记录 DISPLAY缺省当前记录 LIST具有连续显示特点 DISPLAY具有分页显示,满一页就停止,并提示按任一键继续显示下页内容临沧师范高等专科学校信息科学与技术系例6.1 将ZGDA表中职称是讲师的、年龄在45岁以下的记录显示出来,并且只列出 姓名、年龄、职称三个字段USE ZGDA LIST FIELDS 姓名,年龄,职称 FOR 职称“讲师”AND年龄45临沧师范高等专科学校信息科学与技术系【例6.2】将ZGDA表的后4个记录显示出来,并且将第1和第5个记录分别显示出来【例

35、6.3】将ZGDA表中1995年1月1日以后参加工作的记录显示出来【例6.4】将ZGDA表的后4个记录中性别是女的记录显示出来临沧师范高等专科学校信息科学与技术系6.3 表的修改和维护 1.EDIT和CHANGE命令格式分别是: EDIT 范围 FIELDS 字段名表 FOR 条件CHANGE 范围 FIELDS 字段名表 FOR 条件 命令功能: 进入全屏幕编辑方式,对当前打开的表的记录进行修改临沧师范高等专科学校信息科学与技术系说明: 缺省所有的选择项,从当前记录开始进行修改 FIELDS字段名表,对列出的字段进行修 改 范围和FOR条件,范围内满足条件的记录进行修改 缺省了范围是指全部记

36、录临沧师范高等专科学校信息科学与技术系2.BROWSE命令 命令格式: BROWSE FIELDS 字段名表 命令功能: 该命令以窗口方式显示当前表的内容,并可以对窗口内的数据按需要进行修改 使用EDIT命令和CHANGE命令时 一行只显示一个字段 每屏幕只能显示一个记录 VFP系统提供了窗口显示与修改命BROWSE 临沧师范高等专科学校信息科学与技术系3.REPLACE命令* 命令格式: REPLACE 范围 字段1 WITH 表达式1ADDITIVE,字段2 WITH 表达式2ADDITIVE FOR 条件 命令功能:成批地、快速地修改满足给定条件的一批记录修改的方法是 用WITH后面表达

37、式的值替换WITH前面的字段内容临沧师范高等专科学校信息科学与技术系 说明:(1) 系统不进入全屏幕编辑方式(2) 范围和FOR条件,修改范围内满足条件的所有记录缺省范围,当前记录 (3)REPLACE命令可以对备注字段的数据进行替换可用关键字ADDITIVE,追加到备注的文本内容的尾部否则表达式的内容覆盖备注字段中的原有内容 (4)字段名和表达式的数据类型必须相同数值字段,表达式的值大于字段宽度时,四舍五入运算,或采取科学计数法临沧师范高等专科学校信息科学与技术系【例6.5】 在表DA.DBF中,对工资小于800元的职工各增加10元 USE DA REPLACE ALL 工资 WITH 工资

38、+10 FOR 工资800 USE临沧师范高等专科学校信息科学与技术系记录的插入与删除 1.记录的插入APPEND 命令是从表末尾增加新记录 命令格式: INSERT BLANK BEFORE 命令功能:在当前表中的当前记录之前或之后插入记录临沧师范高等专科学校信息科学与技术系说明:(1)没有选择项,是在当前记录之后插入一个记录(2)如果有BEFORE选择项,是在当前记录之前插入一个记录(3)如果有BLANK选择项,是在当前记录之后插入一个空白记录临沧师范高等专科学校信息科学与技术系2.记录的删除 分两步进行:是对欲删除的记录打删除标记 “*”,称为逻辑删除 必要时,可恢复,即把“*”去掉是把

39、带有删除标记的记录真正删除,称为永久性删除记录或称物理删除记录临沧师范高等专科学校信息科学与技术系(1)逻辑删除记录命令 命令格式:DELETE 范围 FOR条件 命令功能:指定范围内满足条件的那些记录加上删除标记“*” 说明:若省略两个选择项,则给当前记录打删除标记“*”当用命令 SET DELETE ON 在显示或有关操作时,作了删除标记的记录就不起作用,如同真正删除这些记录一样临沧师范高等专科学校信息科学与技术系【例6.6】 将表DADBF的4号记录打上删除标记USE DADELETE RECORD 4LIST临沧师范高等专科学校信息科学与技术系(2)记录恢复删除命令 命令格式: REC

40、ALL 范围 FOR条件 命令功能:将规定范围内的、符合条件的、已作了删除标记的记录恢复。即把删除 标记“*”去掉临沧师范高等专科学校信息科学与技术系(3)永久性删除记录命令 命令格式: PACK 命令功能:将带有删除标记的记录从当前表中删除并重新调整表的记录号 说明:执行PACK命令后,删除的记录在表中不再存在,并且不能被恢复,称永久性删除记录 临沧师范高等专科学校信息科学与技术系(4)删除表的全部记录命令 命令格式:ZAP 命令功能:将已打开的表中的全部记录一次性删除 说明:(1)执行此命令,只是删除全部记录,而表的结构仍然保留(2)该命令等效于执行了DELETE ALL命令后再执行PAC

41、K命令临沧师范高等专科学校信息科学与技术系表的排序 按一定的条件在已有的表之外产生一个新的有序表 ,从而实现数据的重新组织 命令格式:SORT TO 文件名 ON 字段名1 ACD,字段名2ACDASCENDING|DESCENDING 范围FOR条件FIELDS 字段名表命令功能:对当前表中指定范围内满足条件的记录,根据关键字段按字符顺序 、数值大小或时间顺序进行重新排列,生成一个新的表临沧师范高等专科学校信息科学与技术系说明:新生成的表,扩展名为.DBF不选择范围和条件时,对全部记录进行排序不指定FIELDS,新表结构全部字段组成多重排序,即先对字段名1 排序,对于记录相同的记录,再按字段

42、名2排序,依此类推A和D分别表示升序和降序,升序符号可以省略不写C使排序时不分大小写字母C可以和A或D连用,两种选择可以只用一条斜线,如AC或 DC(6)ASCENDING和DESCENDING仅对那些没有指定A和D的关键字段起作用,关键字段默认按升序 A排序临沧师范高等专科学校信息科学与技术系【例6.7】 将表A1.DBF按工资排序,排序后的表名为GZ.DBFUSE A1SORT ON 工资 TO GZUSE GZLIST临沧师范高等专科学校信息科学与技术系索引文件 表排序的方法:分类方法索引 两种索引文件类型一种为单入口索引文件 其扩展名为.IDX索引文件复合索引文件 其扩展名为.CDX索

43、引文件 索引就像一本书的目录索引可使读者快速找到所需的内容一样临沧师范高等专科学校信息科学与技术系(1)单入口索引文件 是与FoxBASE表索引文件相兼容的索引文件 一个表可以有多个这样的索引文件 其扩展名为.IDX索引文件临沧师范高等专科学校信息科学与技术系(2)复合索引文件 包含许多索引 每个索引都有一个TAG标志 复合索引文件就好像是许多单个索引的集合1)结构复合索引文件: 这样的索引文件与相关的表同名 但扩展名为.CDX 当表被打开时,索引文件也自动被打开 并能自动及时更新2)独立型复合索引文件: 这样的索引文件不与相关的表同名 且不会随相关表的打开而自动打开临沧师范高等专科学校信息科

44、学与技术系2.建立索引文件 命令格式:INDEX ON 索引表达式 TO IDX索引文件名|TAG标志名OFCDX索引文件名FOR条件COMPACTASCENDING|DESCENDINGUNIQUEADDITIVE 命令的功能:对满足指定条件的记录按索引表达式进行索引, 形成.IDX索引文件或.CDX索引文件。临沧师范高等专科学校信息科学与技术系说明: 如有关键字TAG,表示建立复合索引TAG关键字标志名为复合索引一个索引标志 选择OFCDX索引文件名时,可建立独立型复合索引文件缺省时可建立与表 同名的结构化复合索引文件 有FOR条件时,按满足条件的记录进行索引 ASCENDING任选项,排

45、序方式是按升序 DESCENDING任选项,排 序方式是按降序 默认时为升序临沧师范高等专科学校信息科学与技术系说明: 索引表达式中的字段名可以是数值型、字符型或日期型 表达式由多个字段组成时,必须转换成相同的数据类型转换可使用VAL()、STR()、CTOD()、DTOC ()函数。如果索引表达式的字段类型一致时,必须用“+”连接。 选择COMPACT项时,在建立单入口索引时使用,表示可生成一个压缩的单独索引文件 复合索引文件自动采用压缩方式。 UNIQUE项时,多记录有相同的关键字表达式值,第一个记录有效,包含在索引文件中若未指定UNIQUE,则所有记录均包含在索引文件中 ADDITIVE

46、关键字时,决定是否在建立新的索引时关闭已打开的索引文件。选择关键字表示不关闭,否则表示关闭所有已打开的索引文件临沧师范高等专科学校信息科学与技术系3.打开和关闭索引文件 两种命令1)用USE打开表和索引文件2)用SET INDEX打开索引文件临沧师范高等专科学校信息科学与技术系1)用USE打开表和索引文件 命令格式:USE 表文件名 INDEX 索引文件名表|?ORDER数值表达式|IDX文件名 命令功能:本命令将索引文件连同表主文件一起打开执行此命令后,关闭当前工作 区前使用的表及索引文件临沧师范高等专科学校信息科学与技术系2)用SET INDEX打开索引文件 命令格式SET INDEX T

47、O 索引文件名表|?ADDITIVE 命令功能:打开表主文件后,用此命令打开已建立的索引文件 说明:凡与表一同打开的多个索引文件,用APPEND、BROWSE、EDIT及REP LACE命令修改时,均会自动地修改所有的索引文件结构化复合索引文件随着表的打开而打开,随着表的关闭而关闭对于单入口索引 文件和独立型索引文件可以用上述命令,该命令可以一次打开一个或多个索引文件临沧师范高等专科学校信息科学与技术系(2)确定主控索引 命令格式:SET ORDER TO 数值表达式|IDX文件名|TAG标志名OFCDX索引文件名ASCENDING|DESCENDING 一个表可以同时打开多个索引文件 但是只

48、有一个索引起作用,称之为主索引临沧师范高等专科学校信息科学与技术系(3)关闭索引文件 命令格式:1)USE2)SET INDEX TO3)CLOSE INDEX 命令功能:关闭当前工作区内已打开的索引文件。 说明:格式1)可以关闭表及其索引文件格式2)与格式3)功能相同,可以关闭.IDX文件与独立型复合索引文件,但不能关闭结构化复合索引文件临沧师范高等专科学校信息科学与技术系【例6.8】 有一个表A1.DBF,按工资建立单入口的索引文件(.IDX文件), 其文件名为GZ.IDX。USE A1INDEX ON 工资 TO GZ 6 records indexedSET INDEX TO GZLI

49、ST临沧师范高等专科学校信息科学与技术系4.添加记录与重新索引 命令格式:REINDEX 命令功能:重新建立已索引过的索引文件。 说明:已有索引文件,在输入记录前,并没有打开需要再一次建立索引 文件使用该命令时,必须先打开索引文件临沧师范高等专科学校信息科学与技术系数据检索 数据检索的命令:顺序检索 LOCATE CONTINUE索引检索 FIND SEEK临沧师范高等专科学校信息科学与技术系1.查找命令FIND 命令格式:FIND 字符串数字 命令功能:从表的索引文件中查找指定字符串或与数字相匹配的记录找到: 将记录指针指向 函数FOUND()返回逻辑真值未找到: 指向文件尾,eof()为真

50、 此时的记录号为表的最大记录号+1 函数FOUND()返回逻辑假值临沧师范高等专科学校信息科学与技术系说明: 检索值可以是字符串和数字,但不能是表达式若使用字符型内存变量检索时,必须使用宏代换&函数,以内存变量的内容检索 字符串不用定界符如果字符串以空格 开始,必须用定界符临沧师范高等专科学校信息科学与技术系【例6.9】查找字符型数据 USE A1 INDEX XM FIND 孟彬彬 DISPLAY FIND 孙 DISPLAY临沧师范高等专科学校信息科学与技术系2.检索命令 SEEK 命令格式:SEEK表达式 命令功能:在主控索引文件中将记录指针定位在索引关键字内容与命令中指定的表达

51、式相匹 配的第一个记录SEEK能实现快速查找信息。临沧师范高等专科学校信息科学与技术系SEEK说明: 当表达式为字符型数据时,必须用单引号、双引号或方括号括起来如果是内存变量或 数值型表达式时,不用定界符 SEEK扩大了FIND的查找功能,FIND不能查找日期型数据,而SEEK可以 直接查找日期索引关键字的内容 后接表达式:用内存变量可直接用SEEK检索,不用加宏替换函数临沧师范高等专科学校信息科学与技术系【例6.10】 查找字符型数据利用前面以姓名为索引关键字的索引文件USE A1SET INDEX TO XM SEEK 张 燕DISPLAY临沧师范高等专科学校信息科学与技术系顺序查找命令(

52、LOCATE与CONTINUE) 直接查找命令,不用索引命令格式: LOCATE 范围 FOR条件命令格式: CONTINUE命令功能: 对当前表中的记录进行顺序查找,查找指定范围内满足条件的第一个记录 若有满足条件的记录,将记录指针定位在满足条件的第一个记录,并显示出当前记录的记录号Record=n)临沧师范高等专科学校信息科学与技术系说明: 用LOCATE命令查询时,不用对表进行排序或建立索引文件 若在表中没有查找到满足条件的记录则屏幕显示出“END OF LOCATE SCOPE”的文件结束标志信息 若LOCATE与CONTINUE联合使用,可以实现查询每一个满足条件的记录不是再用LOC

53、ATE FOR用了还是找到第一个记录临沧师范高等专科学校信息科学与技术系【例6.11】 查找工资560.00元的记录USE A1LOCATE ALL FOR 工资560.00DISPLAYCONTINUEDISPLAYCONTINUE临沧师范高等专科学校信息科学与技术系6.5 统计命令 求和命令(SUM) 求平均值命令(AVERAGE) 计数命令(COUNT) 求统计量命令(CALCULATE) 分类汇总命令 临沧师范高等专科学校信息科学与技术系求和命令(SUM) 命令格式: SUM 范围字段名表TO内存变量表|数组名 FOR条件 命令功能: 对当前表指定的数值型字段进行列向求和临沧师范高等专

54、科学校信息科学与技术系【例6.12】 以B1.DBF表为例,进行下面的统计操作:(1)将所有数值型字段求和(2)将性别是女的记录求和USE B1LISTSUM 5records SUM FOR 性别女 3 records summed临沧师范高等专科学校信息科学与技术系求平均值命令(AVERAGE) 命令格式: AVERAGE 范围字段名表TO内存变量表|数组名 FOR条件 命令功能:对当前表指定的数值型字段列向求算术平均值临沧师范高等专科学校信息科学与技术系【例6.13】 对B1.DBF表指定数值型字段求算术平均值,并把结果送到对应的内存变量中 USE B1 AVERAGE 基本工资,年龄

55、TO C1,C2 5 records ? C1,C2 348.00 27临沧师范高等专科学校信息科学与技术系计数命令(COUNT) 命令格式: COUNT 范围FOR条件TO内存变量|数组名 命令功能: 统计当前表中记录的个数 *受set deleted on|off影响Set deleted on则不数有删除标记的记录RECCOUNT()不受其影响临沧师范高等专科学校信息科学与技术系例子 Use da Go 3 Dele Set deleted on Count 7 ? Reccount() 8 Set deleted off Count 8 ? Reccount 8临沧师范高等专科学校信息

56、科学与技术系 【例6.14】 将B1.DBF表中对性别是男的记录进行统计,并且存储到内存变量中USE B1COUNT FOR 性别男 TO XB 2 records? XB 2临沧师范高等专科学校信息科学与技术系求统计量命令(CALCULATE) 命令格式:CALCULATE数值表达式范围FOR条件表达式 TO内存变量名表|TO数组名 命令功能:该命令是根据当前表中的各数值型字段组成的数值表达式进行计算临沧师范高等专科学校信息科学与技术系【例6.15】 对表B1.DBF分别统计记录个数、平均年龄、最小年龄,将结果存入A1,A2,A3中,并显示变量的值USE B1CALCULATE CNT(),

57、AVG(年龄),MIN(年龄) TO A1,A2,A3? A1,A2, A3 5 27 21临沧师范高等专科学校信息科学与技术系分类汇总命令 分类汇总就是将表中关键字相同的一些记录的数值数据汇总合并为一个记录,并产生一个新的表 命令格式: TOTAL ON 关键字段 TO 目标文件名 范围FIELDS字段名表FOR条件 命令功能:对已排序或已索引过的表按指定关键字段相同的那些记录进行分组求和并将处理结果存入到目标文件名指出的表中 其结构与有序文件结构相同临沧师范高等专科学校信息科学与技术系 说明:生成新的表文件(sort)(1)如果没有任何选择项,将按关键字段分组,并对所有数值型字段求和生成一

58、个新的表(2)有范围短语时,将按指定范围内的记录进行分组求和(3)有FIELDS 字段名表短语时,将按指定的数值型字段分组求和(4)有FOR 条件短语时,将对满足条件的那些记录的数值型字段分组求和临沧师范高等专科学校信息科学与技术系【例6.16】 将B1.DBF表按性别分组,求工资总和第一步:先显示一下B1.DBF表的内容。 USE B1 LIST第二步:建立索引文件,关键字段为性别。 INDEX ON 性别 TO B1X 5 records LIST第三步:计算工资总和,形成一个新的表HB.DBF,其结构与B1表中的结构相同 TOTAL ON 性别 TO HB 5 Records total

59、led 2 Records generated USE HB LISTHB.DBF表的记录对于非数值型字段是无意义的,可以根据需要进一步整理临沧师范高等专科学校信息科学与技术系end临沧师范高等专科学校信息科学与技术系6.6 命令文件的建立与运行临沧师范高等专科学校信息科学与技术系 程序使用的方式:向导方式菜单方式命令方式: 命令窗口的显示(Ctrl+F2)程序执行方式: 将多条命令按一定的结构编写成一个程序(.prg) 然后命令机器去执行这个程序(do 命令) 基本逻辑结构: 顺序结构 条件分支结构 循环结构临沧师范高等专科学校信息科学与技术系 命令文件是由一系列VFP命令组成的程序一般以某

60、种方式建立并存入磁盘中使用时再调出来执行 两种方式建立: 用VFP的文本编辑程序建立命令文件 采用全屏幕编辑方式 一般的文本编辑程序如:记事本命令文件临沧师范高等专科学校信息科学与技术系 命令格式: MODIFY COMMAND 文件名 命令功能:生成和编辑命令文件文件名中若未指定扩展名,系统认定为.PRG文件临沧师范高等专科学校信息科学与技术系 【例6.17】 在当前盘D盘上建立一个查看DA1表结构和内容的命令文件 MODIFY COMMAND W1 CLEAR USE DA1 LIST STRUCTURE LIST USE 存盘:按CTRL+W建立了一个W1.PRG 的命令文件临沧师范高等专科学校

温馨提示

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

评论

0/150

提交评论