VFP22学时实验教案.docx
- 文档编号:25469556
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:19
- 大小:46.49KB
VFP22学时实验教案.docx
《VFP22学时实验教案.docx》由会员分享,可在线阅读,更多相关《VFP22学时实验教案.docx(19页珍藏版)》请在冰豆网上搜索。
VFP22学时实验教案
周次
日期
节次
实践(实验、实习、设计、见习)内容
3
09/3/11
5-6
数据类型、常用函数
5
09/3/25
5-6
数据库和表的基本操作
6
09/4/1
5-6
查询、视图的创建
7
09/4/8
5-6
表文件的定义及表数据的修改
8
09/4/15
5-6
简单、连接查询
9
09/4/22
5-6
嵌套查询
10
09/4/29
5-6
VFP顺序和选择结构程序设计
12
09/5/13
5-6
循环结构程序设计
14
09/5/27
5-6
表单设计操作
15
09/6/3
5-6
菜单设计
16
09/6/10
5-6
报表设计器的使用
实验进度安排表
实验一数据类型、常用函数
一、实验目的
1.熟悉中文VisualFoxPro6.0的操作环境;
2.熟悉VisualFoxPro6.0的常量、变量及其基本操作;
4.掌握各运算符的意义、操作规则;
5.掌握各种类型数据的表示方法和比较规则;
6.掌握函数的功能、使用方法和使用技巧;
二、实验要求
在教师的指导下完成实验任务,归纳总结知识要点。
三、实验学时数
2学时
四、实验任务
1.若桌面上没有vfp的快捷方式,请在桌面上建立VisualFoxPro6.0的快捷方式。
2.用多种方法启动VisualFoxPro6.0,分别用五种方法关闭VisualFoxPro6.0。
3.在命令窗口定义变量,并赋给相应的值,变量名和值见下表:
表1需要定义的内存变量
变量名
值的类型
值
A1
字符型
中华人民共和国
A2
货币型
123.4500
B1
日期型
2004年9月10日
B2
数值型
123.4500
ABC
逻辑型
逻辑真
数组B(2,3)
分别为1,“2”,.T.,$12.3,当天日期
C2
日期时间型
1997年1月2日14点30分20秒
4.显示刚定义的全部内存变量。
5.将所有以A开头的内存变量存入到内存文件MA.MEM文件中。
6.将除第二个字母为2的内存变量外的内存变量存入到MB.MEM文件中。
7.将所有内存变量存入到MC.MEM文件中。
8.清除以B开头的内存变量。
9.将内存文件MA.MEM恢复到内存中。
10.将内存文件MB.MEM中的内存变量追加到内存中。
11.假如张三是1984年2月6日出生,计算他到2008年8月7日出生了多少天,折合多少年。
12.请计算当前日期前100天,后100天各是哪一天。
13.请上机实验P293例12.7,掌握字符串比较运算符的运算规则。
14.在VisualFoxPro6.0状态下计算下列表达式的结果。
|-4.32|、ln10、e3、求5的平方根、23.4与56.7的最大值、对于24.5674进行四舍五入保留三位小数、取“职业技术学院计算机系”的左边一字、两字,中间两字,三字,右边两字,两字,取当前日期、时间、计算56年10月3日出生的人到现在的年龄、求出香港回归那天是星期几。
15.将3.1415926四舍五入保留三位小数。
16.已知某人出生于1982年9月10日,算出这个人现在的年龄。
17.已知BB是一个四位整数,求出个、十、百、千位上的数字,并分别赋给变量A1,B1,C1,D1。
18.已知CC=“真是我们伟大的祖国”,通过表达式输出:
“祖国伟大”、“我们祖国”、“伟大真伟大”、“真是我们”等内容。
19.请比较字符常量"ADC"、"ACD"、"abc"、"王平"、"张三"的大小。
20.将字符串“Thisisaboy!
”中转为大写字母。
测试以下字符串是否以大写字母开头:
"How"、"are"、"you!
"。
21.测试字符串“Hello,everyone”的长度,其中字母“e”、“l”、“o”出现的次数和位置。
实验二:
数据库和表的基本操作
一、实训目的
1.掌握在VisualFoxPro6.0中建立文件夹、设置当前目录的方法;
2.掌握在VisualFoxPro6.0中建立表结构、输入表记录的方法;
3.掌握数据库的建立、数据库的基本操作、数据库表的基本操作;
4.掌握表的记录的追加、定位、显示、修改、删除等操作;
二、实训要求
在教师的指导下完成实训任务,归纳总结知识及操作要点
三、实训时间
2学时
四、实训任务
1.在可写磁盘上建立一个以学生自己的学号为名的文件夹来保存自己的作业。
如
001张三。
提示:
将本次实验中做建立的所有表文件、数据库文件以及各个题目的VFP命令保存在文本文件中,存至自己名字的文件夹中,上交作业为该文件。
2.建立自由表“STU.DBF”,保存至作业文件夹中,表的结构如下表所示。
STU表的表结构参数
字段名
类型
宽度
小数位数
索引
NULL
学号
字符型
6
否
姓名
字符型
8
是
性别
字符型
2
是
出生年月
日期型
8
是
年龄
数值型
2
0
是
籍贯
字符型
10
是
少数民族否
逻辑型
1
是
入学成绩
数值型
3
0
是
简历
备注型
4
是
照片
通用型
4
是
3.建立结构后,输入至少5条学生的记录。
4.修改表结构,将字段名“出生年月”改成“出生日期”。
5.修改表结构,在“部门”与“职务”之间增加字段“政治面貌”,字符型,长度为4,允许为NULL。
并输入相应的数据。
6、显示第2号记录。
7、显示第2号至第4号之间的全部记录。
8、列出1985年以后出生的学生的姓名与出生日期。
9、在表的顶部增加一个新的记录,并输入数据。
10、在表的尾部增加一个新的记录,并输入数据。
10、将20岁以下的少数民族学生的入学成绩提高20分。
11、给“政治面貌”是团员的学生做删除标记。
12、给最后一条记录做删除标志。
13、恢复11题中的记录,即取消删除标志。
14、物理删除12题中做删除标志的记录。
15、建立自由表“SCORE.DBF”,保存至作业文件夹中,表的结构如下表所示。
STU表的表结构参数
字段名
类型
宽度
小数位数
索引
NULL
学号
字符型
6
否
课程号
字符型
2
否
成绩
数值型
2
是
建立结构后,输入至少5条的记录。
16、建立数据库sdb.dbc,将自由表STU、SCORE添加到sdb数据库中。
17、在sdb数据库中建立表course,表结构如下:
字段名
类型
宽度
小数位数
索引
NULL
课程号
字符型
2
否
课程名
字符型
20
是
学时
数值型
2
0
是
随后向表中输入6条记录,记录内容如下(注意大小写):
课程号
课程名
学时
c1
C++
60
c2
VisualFoxPro
80
c3
数据结构
50
c4
JAVA
40
c5
VisualBASIC
40
c6
OS
60
18、修改表course结构,达到如下要求:
①为“学时”字段设置约束规则:
学时>0,违背规则时的提示信息是“学时必须大于零”,设置学时的默认值为60。
保存后,将某一字段的学时改为负数试一试。
②设置字段“课程号”的输入格式,达到第一个字符必须为字母,第二个字符必须为数字。
存盘后输入记录试一试。
③设置课程号不允许为空,课程名允许为空,保存表结构后输入下列记录:
“c7”,.NULL.,60
④设置记录的有效性规则,达到不能同时让“课程号”和“课程名”中没有输入数值(即空字符),不符合规则时的提示信息为“课程号和课程名不能同时为空”。
(提示:
记录有效性规则设为:
not(empty(课程号)andempty(课程名))。
⑤设置“删除触发器”,达到表中若记录没有超过7条时,则不能删除,并验证。
(提示:
设置删除触发器为:
reccount()>=7)。
实验三表数据的计算、索引、关系操作
一、实训目的
1、掌握排序、索引的基本操作;
2、掌握用sum、aver、count、total等命令进行统计汇总的操作;
3、掌握表间关系建立、参照完整性设置的操作方法;
二、实训要求
在教师的指导下完成实训任务,归纳总结知识及操作要点
三、实训时间
2学时
四、实训任务
1、打开STU.DBF表,将其表结构复制成表文件STU1.DBF,并显示这个表的结构。
2.将原表STU.DBF的结构和记录复制成STU2.DBF,其中只含字段姓名、性别、年龄等字段。
显示该表的所有记录。
3.打开表STU1.DBF,将STU.DBF表中所有年龄在20岁以下的记录复制过来。
显示该表的所有记录。
4、打开表STU.DBF,使用SORT命令建立排序,按照入学成绩的降序,生成排序文件为SC_STU.DBF。
5、显示入学成绩前3名的记录。
6、统计1985年出生学生的人数,并把它存入变量number中。
7、分别求男、女学生的平均年龄。
8、查找并显示出第一位少数民族的学生。
9、以年龄的升序建立一个单索引文件AGE_STU.IDX。
10、建立一个结构复合索引文件,其中包括两个索引:
记录以学号降序排列;记录按出生日期升序排列。
11、查询年龄最小和最大的学生。
12、按照性别对入学成绩进行汇总。
13、使用LOCATE顺序查找籍贯是“陕西”的学生。
14、使用SEEK或FIND快速查找年龄为20岁的学生。
15、删除前面建立的所有索引。
16、打开数据库sdb.dbc,STU.DBF表建立学号为主索引,COURE.DBF表建立课程号为主索引,SCORE.DBF建立学号+课程号为主索引,学号为普通索引,课程号为普通索引。
17、在STU.DBF和SCORE.DBF之间以学号建立一对多的永久关系,在COURE.DBF和SCORE.DBF之间以课程号建立一对多的永久关系。
18、在一对多关联下显示学号、姓名、课程号、课程名和成绩。
19、设置参照完整性,STU.DBF和SCORE.DBF的级联性更新,即当修改学生的学号时,也自动修改相关的成绩表记录。
COURE.DBF和SCORE.DBF的级联性删除,即当在COURE.DBF删除某门课程时,也自动删除相关的成绩表记录。
实验四SQL定义、查询功能
一、实验目的
1.掌握SQL定义功能的格式、功能及使用方法
2.掌握SELECT语句查询的格式、功能及使用方法
二、实训要求
在教师的指导下完成实训任务,归纳总结知识及操作要点
三、实训时间
4学时
四、实训任务
(一)SQL定义功能
1.建立数据库“学生成绩管理.DBC”,在该数据库内建立数据库表xxss.dbf,该表结构如下:
字段名
类型
宽度,小数位
是否空值
其他
编号
C
9
姓名
C
8
允许为空
性别
C
2
默认值为“男”,只能取“男”或“女”
身份证号
C
18
候选索引
入学成绩
N
6,1
允许为空
不能为负数
政治面貌
C
6
年龄
C
3
2.将“姓名”字段的宽度改为10,年龄的类型改为“数值型”。
3.将“编号”字段名改为“学号”。
4.按“学号”建立主索引。
5.删除“政治面貌”字段。
6.设置“身份证号”的字段有效性规则为“身份证号只能为15位或18位”。
7.增加一个“出生日期”字段(日期型),并允许该字段为空。
8.删除“性别”字段的字段有效性规则。
(二)SQL查询功能
建立订货管理.dbc的数据库,并在该数据库中建立如下图所示的几个表,并输入相应记录数据,写出完成指定操作的SQL命令,并上机验证。
仓库.DBF职工.DBF
订购单.DBF供应商.DBF
1.求出工资多于1230元的职工号。
SELE职工号FROM职工WHERE工资>=1230
2.检索有哪些仓库有工资多于1210元的职工。
SELE仓库号FROM职工WHERE工资>=1210
3.求出在仓库“WH1”或“WH2”工作,并且工资少于1250元的职工号。
SELE职工号FROM职工WHERE仓库号=WH1OR仓库号=WH2AND工资<=1250
4.找出工资多于1230元的职工号和他们所在的城市。
SELE职工号,城市FROM职工,仓库WHERE工资>=1230AND职工.仓库号=仓库.仓库号
5.找出工作在面积大于400的仓库的职工号以及这些职工工作所在的城市。
SELEDISTINCT职工号,城市FROM职工,仓库WHERE面积>=400AND职工.仓库号=仓库.仓库号
6.找出有哪些城市至少有一个仓库的职工工资为1250元。
SELE仓库号,城市FROM仓库WHERE仓库=ANY(SELE仓库号FROM职工WHERE工资=1250)
7.查询所有职工的工资都多于1210元的仓库的信息。
SELE*FROM仓库WHERE仓库号IN(SELE仓库号FROM职工WHERE工资>=1210)
8.找出和职工E4挣同样工资的所有职工。
SELE*FROM职工WHERE工资=(SELE工资FROM职工WHERE职工号="E4")
9.找出供应商是”爱华电子厂”公司的全部订单信息。
SELE*FROM订购单WHERE供应商号=(SELE供应商号FROM供应商WHERE供应商名="爱华电子厂")
10.找出不在北京的全部供应商的信息。
SELE*FROM供应商WHERE地址!
="北京"
11.找出供应商不在北京的全部订购单信息。
SELE*FROM订购单WHERE供应商号IN(SELE供应商号FROM供应商WHERE地址!
="北京")
12.先按仓库号升序,再按工资从高到低顺序排列所有职工信息
SELE*FROM职工ORDERBY仓库号,工资DESC
13.找出供应商所在地的数目。
SELECOUNT(DISTINCT地址)AS所在地的数目FROM供应商
14.求支付的工资总数。
SELESUM(工资)AS总工资FROM职工
15.求北京和上海的仓库职工的工资总和。
SELESUM(工资)AS总工资FROM职工WHERE仓库号IN(SELE仓库号FROM仓库WHERE城市IN("北京","上海"))
16.求所有职工的工资都多于1210元的仓库的平均面积(不包含没有职工的仓库)。
SELEAVG(面积)FROM仓库WHERE仓库号IN(SELE仓库号FROM职工WHERE工资>=1210)
17.求在WH2仓库工作的职工的最高工资值。
SELEMAX(工资)AS最高工资FROM职工WHERE仓库号="WH2"
18.求每个仓库的职工的平均工资。
SELE仓库号,AVG(工资)AS平均工资FROM职工GROUPBY仓库号
19.求至少有两个职工的每个仓库的平均工资。
SELE仓库号,AVG(工资)AS平均工资FROM职工GROUPBY仓库号HAVINGCOUNT(*)>=2
20.找出尚未确定供应商的订购单。
SELE*FROM订购单WHEREEMPTY(供应商号)
21.列出已经确定了供应商的订购单信息。
SELE*FROM订购单WHERENOTEMPTY(供应商号)
22.列出每个职工经手的具有最高总金额的订购单信息。
?
?
23.找出那些仓库中还没有职工的仓库的信息。
SELE*FROM仓库WHERE仓库号NOTIN(SELE仓库号FROM职工)
24.检索那些仓库中至少已经有一个职工的仓库的信息。
SELE*FROM仓库WHERE仓库号=ANY(或者用IN)(SELE仓库号FROM职工)
25.检索有职工的工资大于或等于WH1仓库中任何一名职工工资的仓库号。
SELEDISTINCT(仓库号)FROM职工AWHEREA.仓库号!
="WH1"ANDA.工资>=ANY(SELE工资FROM职工BWHEREB.仓库号="WH1")
26.检索有职工的工资大于或等于WH1仓库中所有职工工资的仓库号。
SELEDISTINCT(仓库号)FROM职工AWHEREA.仓库号!
="WH1"ANDA.工资>=ALL(SELE工资FROM职工BWHEREB.仓库号="WH1")
27.找出每位职工的职工号,工资,所有仓库号,所在仓库的面积,所在城市,要求按职工号升序排列。
SELE职工号,仓库号,工资,面积,城市FROM职工,仓库WHERE仓库.仓库号=职工.仓库号ORDERBY职工号
28.显示工资最高的前三位职工的信息。
SELETOP3*FROM职工ORDERBY工资DESC
29.将向S4发出过订购单的所有职工情况存入到表S4_DJD.DBF中。
SELE仓库号,职工号,工资FROM职工,订购单,供应商WHERE职工.职工号=订购单.职工号AND订购单.供应商号=供应商.供应商号AND供应商.供应商号="S4"INTOTABLES4_DJD.DBF
30.将与每位供商最近签订的订购单日期送入数组AB中。
SELE供应商号,MAX(订购日期)FROM订购单GROUPBY供应商号INTOARRAYAB
实验五SQL控制功能、查询和视图设计器的使用
一、实训目的
1.掌握查询的意义、查询的操作方法和查询的应用
2.掌握视图的意义、视图的操作方法和视图的应用
3.掌握SQL操作功能的格式、功能及使用方法
二、实训要求
在教师的指导下完成实训任务,归纳总结知识及操作要点
三、实训时间
2学时
四、实训任务
(一)查询设计器操作
1、用查询向导设计出在自由表STU.DBF中查找所有男生的学号,姓名,性别,出生日期,入学成绩。
用浏览的方式查看查询结果。
将查询存放在学号文件夹下,名称为:
男学生.qpr。
2.查看男学生.qpr所对应的SELECT-SQL语言,将其修改为查询所有籍贯在陕西的学生的学号,姓名,出生日期。
将查询结果存放到自由表TEMP1.DBF中。
将查询存放在学号文件夹下。
名称为:
陕西.qpr。
3.给查询陕西.qpr加注释“该查询是查询所有籍贯在陕西的学生的学号,姓名,出生日期,是XXX(操作者姓名)创建于XXXX年XX月XX日”。
4.打开数据库学生管理.DBC,查询成绩大于80分的学生的学号、课程号、姓名、性别、课程名、成绩。
结果用浏览的方式显示出来。
查询名为成绩.QPR。
5.新建一个查询,在上题中,其它条件不变,按各性别分组查看查询结果,将查询结果以表的形式保存至学号文件中,命名为“成绩.DBF”。
(二)视图操作
打开学生管理数据库,数据库设计器中建立本地视图view_ca,视图内容为学号、姓名和年龄,按年龄降序排序(年龄表达式是YEAR(DATE())-YEAR(出生日期))。
(三)SQL操作功能
打开订货管理数据库,完成以下操作:
1、插入一个新的供货商记录(S9,智通公司,沈阳)。
2、删除目前没有任何订货单的供应商。
3、删除由在上海仓库工作的职工发出的所有订购单。
4、给北京仓库的面积增加100m2。
5、给低于所有职工平均工资的职工的工资提高10%。
实验六顺序结构和选择结构
一、实训目的
1、掌握程序的编制、修改、运行方法;
2、掌握顺序程序的结构、功能及运用方法
3、掌握分支程序的结构、功能及运用方法
二、实训要求
在教师的指导下完成实训任务,归纳总结知识及操作要点
三、实训时间
2学时
四、实训任务
1、设计一个名为t21.prg的程序,程序的功能是:
先打开的学生表,输入要显示的开始记录号,结束记录号,然后显示由起始号到终止号的记录,最后显示文字“所有符合条件的记录都显示完毕!
”
2、设计一个名为t22.prg的程序,程序的功能是:
显示系统日期、系统时间、系统星期,要求使用以下格式:
XXXX年XX月XX日
星期X(这时X显示为一二三四五六日)
XX时XX分XX秒
4、教材中第三题
(1),课堂练习题2(要求用IF嵌套和不同于实例中的DOCASE来完成)。
实验七循环结构和子程序
一、实训目的
1、掌握循环程序的结构、功能及运用方法;
2、掌握子程序的结构、函数、过程的结构功能及运用方法;
3、理解变量作用域的概念及用法。
4、了解程序的调试、运行过程及方法。
二、实训要求
在教师的指导下完成实训任务,归纳总结知识及操作要点
三、实训时间
2学时
四、实训任务
1、求2/1,3/2,5/3,8/5,13/8……前10项之和。
2、教材三
(2)。
3、在学生表中,分别统计汉族和少数民族学生的人数。
4、教材三(3)。
5、用过程方式求S=A!
+B!
+C!
(A、B、C的值由键盘输入)。
实验八:
表单设计与应用
一、实训目的
1.掌握表单的基本属性,
2.掌握主要控件的使用方法
3.掌握表单的应用
二、实训要求
在教师的指导下完成实训任务,归纳总结知识及操作要点
三、实训时间
2学时
四、实训任务
1、设计一个表单,表单名为“表单应用程序实例1”;表单中包含一个命令按钮和一个文本框,文本框的初始值设置为0,当单击一次命令按钮时,文本框的数值加1。
2、设计一个使用列表框和表格的表单,表单名为“表单应用程序实例2”;要求:
列表框与学生表关联,表格与成绩表关联,并且,当选中列表框中的某个记录时,表格中显示该学生的成绩等信息(学号,姓名,课程号,成绩等)。
3、建立符合下列要求的表单。
分别在表单上建立标签、文本框、编辑框和微调器4种控件。
表单名为“表单应用程序实例3”;标签显示“显示信息控件使用方法”,双击标签后显示“标签、文本框、编辑框和微调器的综合运用”;利用微调器动态改变显示在文本框中的当前系统日期(非数值型数据);在另一个文本框中输入数据并单击该文本框,则会将其中的数据添加到编辑框中,若双击编辑框,则清除原文本框中输入的数据;双击该表
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VFP22 学时 实验 教案