实验一
任务一熟悉Visual FoxPro6.0的工作环境
任务二自由表的基本操作及常用命令子句
一、目的和要求
1.了解Visual FoxPro6.0的基本特点、界面操作方式和命令操作方式。
2.熟悉Visual FoxPro6.0的辅助设计工具(向导、设计器、生成器、项目管理器)的操
作和作用。
3.掌握自由表的创建、表结构的修改。
4.了解内存变量与字段变量的使用。
5.掌握表达式的计算与使用。
6.掌握常用函数的使用。
二、实验原理
2.1熟悉Visual FoxPro6.0的工作环境
2.1.1 Visual FoxPro6.0的主要特点
1. 强大的查询与管理功能:近500条命令,200余种函数;查询快速(采用Rushmore技术);
管理高效(项目管理器),开发、维护方便;
2. 引入“数据库表”的概念,在建表时就同时定义它与库内其他表之间的关系;
3. 扩大了对SQL语言的支持;
4. 大量使用可视化的界面操作工具(向导、设计器、生成器、工具栏、快捷菜单);
5. 既支持结构化程序设计,也支持面向对象的程序设计;
6. 支持OLE(对象链接与嵌入)技术,易于与其他应用软件共享数据,实现集成;
7. 支持网络应用:支持客户/服务器结构(C/S);可以通过本地或远程视图访问和修改数据;
可以控制数据共享功能。
2.1.2 Visual FoxPro6.0采用图形用户界面
Visual FoxPro6.0的图形用户界面也称WIMP界面:W→Windows(窗口),I→Icons (图标),M→Menus(菜单),P→Pointing device(指点式输入设备)。
2.1.3 Visual FoxPro6.0的操作方式:
一、界面操作方式
1)鼠标操作:单击,双击,拖动;
2)窗口操作:打开窗口(命令,工具,菜单),关闭,移动,改变大小,最大化,最小化;3)菜单操作:下拉式菜单(选定子菜单→选定菜单命令),可以用鼠标,也可以用键盘;快捷菜单操作(单击鼠标右键打开,左键关闭);
4)对话框操作:按钮;文本框;选择框(⊙表示单选钮选中,?表示复选框选中);列表框;
组合框(通过单击文本框右侧的按钮可以控制列表框的收起与展开);微调控件(增1
减1)
二、命令操作方式
Visual FoxPro6.0的命令操作方式可以是交互式的命令操作,操作方便,执行速度低,也可以是将Visual FoxPro6.0的命令编成程序文件调用执行,以减少用户的介入,执行效率高,可重复执行,对使用者要求低。
2.1.4 Visual FoxPro6.0的辅助设计工具
向导是一种快捷设计工具,它通过一组对话框依次与用户对话,引导用户分步完成VFP 的某项任务。
设计器是比向导功能更加强大的用于创建或修改VFP应用程序构件(比如表、表单)的工具,设计的对象包括数据文件和VFP文档两大类。
生成器是在VFP应用程序的构件中生成并加入某类控件(比如组合框、列表框),VFP6.0提供10种生成器。
在Visual FoxPro6.0中,项目管理器一方面通过项目文件对项目中的数据和对象进行集中管理,另一方面借助界面十分友好的集成环境,使用户能够方便地访问VFP提供的工具栏、快捷菜单和各种辅助设计工具。
2.2自由表的基本操作及常用命令子句
在Visual FoxPro6.0中,数据表分为自由表和数据库表两种。本实验中练习的是自由表的创建。在创建数据表时,可以在一个打开的数据库中创建,也可先建立一个自由表,然后再把它添加到数据库中。无论是数据库表还是自由表,既可用表设计器创建,也可用表向导创建。
创建数据表时,二维表标题栏的列标题是表的字段,标题栏下方的内容输入到表中成为表的数量,每一行称为表的一个记录。建立表结构就是定义各个字段的属性,基本的字段属性包括字段名、字段类型、字段宽度和小数位等。
Visual FoxPro6.0定义了13种字段类型和3种变量类型,另外还有数组。V isual FoxPro6.0还定义了一些标准函数,函数名、参数、函数值是函数的三大要素。按函数功能可将函数划分为:字符处理函数、数学运算函数、转换函数、日期函数、测试函数、环境函数、键处理函数、数组函数、窗口函数、菜单函数和其他类型等。
Visual FoxPro6.0的运算符共有4类,即算术运算符、关系运算符、逻辑运算符、字符串运算符,它们各有其运算优先级。
Visual FoxPro6.0规定,用运算符将常量、变量、字段、函数连接起来的式子为VFP表达式。按照值的数据类型,表达式可分为6种,在表达式中进行表达式的运算时,应严格按照运算的优先顺序进行。
Visual FoxPro6.0命令常用子句的命令格式:
LIST|DISPLAY [[FIELDS] <表达式表>][<范围>][FOR <条件>][WHILE <条件>] [OFF]
[ TO PRINT [PROMPT]|TO FILE <文件>]
范围子句有:
ALL 所有记录
NEXT
RECORD
REST 从当前记录起到最后一个记录止的所有记录
三、实验内容及步骤
3.1熟悉Visual FoxPro6.0的工作环境
1.双击打开Visual FoxPro6.0的程序图标,打开V isual FoxPro6.0的开发环境。
2.熟悉Visual FoxPro6.0的程序窗和命令窗,联系各工具栏的使用。
3.试使用应用程序向导创建一个简单程序,熟悉对话框、向导的使用方法。
3.2自由表的基本操作及常用命令子句
1.打开Visual FoxPro开发环境,建立自己的工作目录。
2.使用表设计器,建立设备表sb,部门代码表bmdm和增值表zz,使用建表命令建立大修表dx。输入数据,可以在建立表结构时输入,也可以在浏览窗口追加与删除记录。
设备表sb
部门代码表bmdm
增值表zz
大修表dx
3.使用表设计器修改表结构。
4.使用表向导修改表结构。
5.
6.
7.输入如下语句,观察运行结果。
s='VFP'
STORE 2*4 TO n1,n2,n3
? 'S=',s
8.1)显示sb表的前3条记录;
2)列出1995年前所启用设备的编号、名称、价格与启用日期。
9.简述LIST的输出结果。
x1=8 * 4
x2="pqr"
xy=.t.
xz={96/12/30}
LIST MEMORY LIKE x?
RELEASE x1,x2
LIST MEMORY LIKE x?
10.建立习题2-1的商品表SP.DBF,表结构和数据如下。
表文件结构:
字段名类型宽度小数位数
货号字符型 6
品名字符型8
进口逻辑型 1
单价数值型7 2
数量数值型 2 0
开单日期日期型8
生产单位字符型16
备注备注型 4
商标通用型 4
记录数据:
货号品名进口单价数量开单日期生产单位备注商标LX-750 影碟机T 5900.00 4 96/08/10 松下电器公司
YU-120 彩电 F 6700.00 4 96/10/10 上海电视机厂
AX-120 音响T 3100.00 5 95/10/11 日立电器公司
DV-430 影碟机T 2680.00 3 96/09/30 三星公司调价涨
FZ-901 取暖器 F 318.00 6 6/09/05 富利电器厂
LB-133 音响T 4700.00 8 95/12/30 索尼公司
SY-701 电饭锅 F 258.00 10 96/08/19 爱德电器厂属改进型
NV-920 录放机T 1750.00 6 96/07/20 先锋电器公司
11.操作表SP.DBF,完成如下练习。
1) 显示第5个记录;
2) 第3个记录开始的共5个记录;
3) 把第3个记录到第5个记录显示出来;
4) 显示数量少于5的货号、品名与生产单位;
5) 显示进口商品或95年开单的商品信息;
6) 显示上海商品信息;
7) 显示单价大于4000的进口商品信息或单价大于5000的国产商品信息;
8) 列出1995年开单的商品的货号、品名、单价与开单日期,其中单价按9折显示;
9) 列出单价小于2000以及单价大于5000的进口商品信息;
10) 显示从第3个记录开始的所有国产商品信息;
11) 列出货号的后3位为“120”的全部商品信息;
12) 列出货号第1个字母为“L”或第2个字母为“V”的全部商品信息;
13) 列出公司生产的单价大于3000的所有商品信息。
四、思考
1.什么是浏览窗口的一窗两区显示?
2.什么是通用型字段?应该如何修改它的值?
3.字段变量和内存变量各有什么特点?
4.日期运算中要注意些什么?
实验二表的维护命令
一、目的和要求
1.掌握记录指针定位命令、表的显示与复制。
2.掌握记录的追加、删除、修改和恢复。
3.掌握建立与修改表结构的命令。
二、实验原理
表中的数据常常需要维护,即进行显示、插入、删除和替换等。
2.1 复制命令
COPY FILE <文件名1> TO <文件名2>
COPY TO <文件名> [<范围>][FOR <条件>][WHILE <条件>] [FIELDS <字段名表>| FIELDS LIKE <通配字段名> | FIELDS EXCEPT <通配字段名>] [TYPE] [SDF|XLS|DELIMITED [WITH <定界符>|WITH BLANK|WITH TAB]]]
COPY STRUCTURE TO <文件名> [FIELDS <字段名表>]
2.1 插入和追加命令
INSERT [BLANK] [BEFORE]
INSERT INTO 表名[(字段名1 [,字段名2, ...])] V ALUES(表达式1 [,表达式,...]) APPEND [BLANK]
REPLACE <字段名1> WITH <表达式1> [ADDITIVE] [,<字段名2> WITH <表达式2> [ADDITIVE]] ...[<范围>][FOR <条件>][WHILE <条件>]
2.3 建立与修改表结构命令
CREA TE TABLE <表名> (<字段名1> <字段类型>[(<字段宽度> [,<小数位数>])][,<字段名2>...])
ALTER TABLE <表名> ADD | ALTER [COLUMN] <字段名> <字段类型> [(<字段宽度> [, <小数位数>])]
ALTER TABLE <表名> DROP [COLUMN] <字段名1>|RENAME COLUMN <字段名2> TO <字段名3>
三、实验内容及步骤
1.使用copy命令复制sb表为a1,复制sb表的部分字段为a2。
2.将上题a1所有记录的名称和价格字段追加到sb表的末尾。
3.使用create命令建立表dx.dbf,并使用insert输入数据。
4.完成第二章习题:练习6的5、6、7小题。
5.
6.
7.完成第二章习题:练习7的第6、7小题。第6小题
第7小题
8.完成第二章习题:练习8。
四、思考问题
1.命令GO和SKIP有什么不同?
2.如何把表中的数据复制为其它类型的文件?
实验三查询、统计与数据库一、目的和要求
1.掌握索引的概念和应用;
2.掌握查询命令和数据工作期的使用;
3.掌握统计命令;
4.掌握在数据库中添加或移去表、建立表间连接。
二、实验原理
表的记录通常按输入的先后排列,用LIST命令显示时按此顺序输出。若要用另一种顺序输出,需要对表进行排序或者索引。
索引的种类如下:
索引类型关键字重复值说明创建修改命令索引个数普通索引允许可作为一对多永久关系
中的“多方”
INDEX 允许多个
唯一索引允许,但输出无重
复值为与以前版本兼容而设置
候选索引不允许,输入重复
值将禁止存盘可用作主关键字,可用于
在永久关系中建立参照
完整性
INDEX
CREA TE TABLE
ALTER TABLE
主索引仅适用数据库表,可用于
在永久关系中建立参照
完整性CREA TE TABLE
ALTER TABLE
仅可1个
顺序查询:
LOCA TE FOR <条件> [<范围>] [WHILE <条件>]
CONTINUE
索引查询:
SEEK <表达式>
数据工作期是用来设置数据工作环境的交互操作窗口,它的优点如下:对操作有向导,使用方便;设置的工作环境可以作为视图文件保存,需要时打开视图文件即可。
统计命令如下:
1)计数命令
COUNT [<范围>] [FOR <条件1>] [WHILE <条件2>] [TO <内存变量>]
2)求和命令
SUM [<数值表达式表>][<范围>][FOR <条件1>][WHILE <条件2>] [TO <内存变量表>|ARRAY <数组>]
3)求平均值命令
A VERAGE [<数值表达式表>][<范围>][FOR <条件1>][WHILE <条件2>][TO <内存变量表>|ARRAY <数组>]
4)汇总命令
TOTAL TO <文件名> ON <关键字> [FIELDS <数值型字段表>][<范围>][FOR <条件1>][WHILE <条件2>]
三、实验内容及步骤
1.对sb.dbf按照以下要求排序:将非主要设备按启用日期降序排列,新表要求只包含编号、
名称、启用日期;将主要设备按部门降序,部门相同时按价格升序排列。
2.在sb.dbf中查询价格小于15000元的非主要设备。
3.在数据工作期中建立关联,查询1992年启用的设备,要求显示查到的设备编号、名称、
启用日期和部门名。
4.使用命令序列,求出所有设备的价格和与增值和。
5.使用命令序列,在dx.dbf中按设备编号汇总大修费用。