VFP命令的使用_第1页
VFP命令的使用_第2页
VFP命令的使用_第3页
VFP命令的使用_第4页
VFP命令的使用_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、VFP命令的使用一.实验目的1.掌握VFP命令的格式。2.掌握常用的VFP命令。3.能够举一反三使用其他命令。二.实验原理1、VFP6.0常用命令结构一般格式: 命令动词 范围子句 FIELDS<字段名列表> FOR<条件> WHILE<条件>其中:命令短语格式说明中常用的符号: < > : 表示必须的,由用户键入 : 表示可选择项 | 或 / : 表示在二项中选择其中一项(1)命令动词:表示要执行的操作;不可缺省,位于一条命令的开始。当命令动词多于4个字母时可以简写为前面4个字母。(2)命令短语:或称为子句,用于说明命令的操作对象、操作结果和操

2、作条件等信息,常用的命令短语有“范围子句”、“FIELDS子句”、“FOR子句”、“WHILE子句”等。 a.范围子句:用来指定命令要操作的记录范围,有四种范围选择: ALL :表示对数据表中所有记录进行指定的操作。 NEXT <n> :表示对从当前记录开始的共n条记录进行指定的操作。 RECORD <n> :表示仅对记录号为n的记录进行指定的操作。 REST :表示对从当前记录开始,直到最后一条记录为止的所有记录进行指定的操作。缺省范围子句时,有的命令其默认范围是全部记录(例如,LIST、COUNT、SUM等命令默认范围是ALL);有的命令其默认范围是当前记录(例如,

3、DISPLAY、DELETE、REPLACE等命令默认是当前记录)。例1:list display b.FIELDS <字段名列表> 子句 “FIELDS”用来选择要操作的字段,相当于关系运算中的投影操作。关键词“FIELDS”有时可以缺省。例2:list fields 学号,姓名 List 学号,姓名 c.FOR <条件> 子句<条件>:是一个逻辑表达式或关系表达式,其值为.T.或.F.。用来对范围子句所确定的范围内的记录进行筛选,相当于关系运算中的选择运算。 注意:当范围子句缺省但带有FOR <条件> 子句时,则默认范围是ALL。例3:lis

4、t for 性别=男d.WHILE <条件> 子句 WHILE 子句也是对记录进行筛选。 FOR <条件>与WHILE <条件>二者的区别: a.FOR子句是对范围内满足条件的所有记录进行操作;WHILE子句是当操作范围内遇到第一条不满足条件的记录时就停止操作,而不管范围内是否还有其它满足条件的记录。 b.当范围子句缺省但带有FOR <条件> 子句时,则默认范围是ALL。 c.当范围子句缺省但带有WHILE <条件> 子句时,则默认范围当前记录。例4:list while 性别=男 List for 性别=男(3) 关于命令格式注意事

5、项 一条命令必须以命令动词开始; 命令动词可缩写为前四个字母; 各个命令子句的先后次序可以任意,但必须用空格分隔各个子句。例5:LIST ALL FIELDS 学号,课程代号,平时成绩 FOR 平时成绩80 一条命令最长为8192个字符,用“;”结尾表示命令有续行。 e.命令中的字符不区分大小写。2、数据表内容的显示、复制与修改(1)表中数据的显示 a.LIST命令 格式:LIST 范围FIELDS<字段名表>FOR<条件> WHILE<条件>OFF 功能:以列表方式显示表中记录,每列均有标题。 其中:OFF指明不显示每条记录的记录号,默认范围为ALL。 b

6、.DISPLAY命令 功能与LIST相似,不同之处是: DISPLAY命令每当显示屏满时能暂停显示; 当没有指定<范围>和条件短语时,DISPLAY命令默认范围为当前记录,而LIST命令默认为ALL; 如果不带范围,但带有条件短语,DISPLAY命令针对整个表;如果带有范围,则针对指定的范围。 当命令范围短语为ALL或带有条件短语时,执行命令后记录指针位于文件尾,EOF()返回.T. (2)表文件的复制格式: COPY TO <文件名> <范围>FIELDS<字段名表>FOR<条件>WHILE<条件><文件类型>

7、; 功能:本命令用于将当前打开的表文件全部或部分复制到一个由<文件名>指定文件名,由<文件类型>指定文件类型的新的文件中。若<文件类型>省略,则复制生成新的.DBF文件,否则复制生成指定类型的文件。<文件类型>有许多种, SDF(标准数据格式文件)、XLS(电子表格文件)等。若不带<范围>、FOR<条件>和WHILE<条件>短语时,则复制所有记录。FIELDS<字段名表>短语用于指定新文件中所包含的字段。省略FIELDS短语,则复制所有的字段。例6.将xs.dbf中所有女生记录复制到xs1.dbf中

8、。使用以下命令序列: USE xs COPY TO xs1.dbf for 性别=“女”(3)表内容的修改格式:replace 范围 字段名1 with 表达式1 ,字段名2 with 表达式2for 条件 while 条件功能:替换式修改表中记录的内容。a.若不带范围和条件,则只替换当前记录; b.若不带范围但带条件,则针对整个表; c.若带范围,则针对指定的范围; d.表达式与字段名的数据类型必须相同。完成实验内容第2题。3、数据表记录的定位表中每个记录都有一个记录号。当打开表时,记录指针指向第一条记录。(1)记录定位命令:GOTO命令和SKIP命令。 aGOTO命令(绝对定位) GOTO

9、命令三种用法格式: 格式1:GO|GOTO T0P|B0TT0M 格式2:GO|GOTO <数字型表达式> 或: <数字型表达式> 功能:将记录指针直接定位到指定的记录上。 b.skip 命令(相对定位)格式:SKIP <expN>功能:将记录指针从当前位置向前或向后移过<expN>条记录。如果记录指针已经移过文件的最后一个记录,即记录指针指向文件尾,则RECNO()函数返回的值(当前的记录号)等于文件中总记录数目加1,EOF()函数返回逻辑真(.T.)值。如果记录指针反方向移过文件的首记录,则RECNO()函数返回的值为1,BOF()函数返回逻

10、辑真(.T.)值。数据表文件的最小记录号是1,最大记录号是表中的记录数目+1。函数recno():求当前记录号。 函数bof() :测试记录指针是否位于第一条记录的前面。 函数eof() :测试记录指针是否位于最后一条记录的后面。 函数reccount():当前工作区中打开的表中的记录总数。完成实验内容第3题。(2)Locate命令 格式:locate 范围 for 条件while 条件 功能:在数据表文件中顺序查找满足条件的第一条记录。 说明:当查找到满足条件的第一条记录时,将该记录定位为当前记录。 若没找到满足条件的记录,则记录指针指向文件尾或范围的最后一条记录。(3)continue命令

11、与locate命令配合使用,用来继续向下查找,若找到满足条件的记录,则将该记录定位为当前记录。 完成实验内容第4题。4、 数据的统计(1) count命令格式:count 范围 for 条件 while 条件 to 内存变量 功能:统计指定范围内满足条件的记录个数。 说明: to 内存变量,结果保存在内存变量中。 (2)average命令格式:average 范围 字段名表 for 条件 while 条件 to 内存变量表 功能:计算指定范围内满足条件的数值型字段的平均值。 说明:to 内存变量表,结果保存在各内存变量中。 (3)sum命令格式:sum 范围 字段名表 for 条件 while

12、 条件 to 内存变量表 功能:计算指定范围内满足条件的数值型字段的总和。 说明:to 内存变量表,结果保存在各内存变量中。 (4)total命令格式:total on 关键字段 to 文件名 fields 字段名表 范围 for 条件 while 条件 功能:对由fields 字段名表指定的数值型字段,按照关键字段分组求和,每组形成一个记录存放在新数据表中。 说明:非数值型字段和没有包含在“fields 字段名表”中的数值型字段,取该组中第一个记录的值。 要分组求和的数据表文件必须是按<关键字段>索引或分类过。 “fields 字段名表”指定求和的数值型字段,而非投影运算。新数据

13、表中总是包含原表中的全部字段。完成实验内容第5,6,7题。三. 实验内容使用实验所用自由表xs.dbf,cj.dbf完成下面1-7题,xs.dbf结构和内容如表3-1所示。cj.dbf结构和内容如表3-2所示。表3-1 xs.dbf的结构和内容学号(C8)姓名(C8)性别(C2)出生日期(D)入校总分(N, 3, 0)团员(L)sh030001李红梅女01/12/1986487Fsh030002张 海男11/10/1985498Tsh030003刘一铭男12/21/1984510Tsh030004金 鑫男02/22/1987575Tsh030005高小天女02/28/1986490Fsh030

14、006杨晨曦男10/04/1986536Fsh030007杜 明男07/23/1985545Tsh030008颜冰雪女04/22/1985465Fsh030009曾 星女01/09/1984432Tsh030010江子开男10/18/1983416F表3-2 cj.dbf的结构和内容学号(C8)语文(N,6,2)数学(N,6,2)政治(N,6,2)英语(N,6,2)平均分(N,6,2)总分(N,6,2)sh03000175876565sh03000265988558sh03000385856954sh03000452748469sh03000552527554sh03000674654650s

15、h03000785528542sh03000865655135sh03000967854087sh030010687460901. 将xs.dbf中所有女生记录复制到xs1.dbf中。2.2. 将表xs1.dbf中的总分都加20。3. 分析并验证以下命令序列的执行结果。 USE xs2 ? RECCOUNT( ) GO TOP DISP SKIP -1 ? RECNO( ), BOF( ), EOF( ) GO 6 ? RECNO( ), BOF( ), EOF( ) GO BOTTOM DISP ? RECNO( ), BOF( ), EOF( ) SKIP ? RECNO( ), BOF( ), EOF( )SET ORDER TO TAG出生日期 GO TOP DISP GO BOTTOM DISP SET ORDER TO GO TOP DISP GO BOTTOM DISP COPY TO xs3

温馨提示

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

评论

0/150

提交评论