2022——2022VFP第二学期教案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2022——2022VFP第二学期教案
ViualFo某pro6.0教案
授课人:陈媛媛学校:皖江职业教育中心学校学科:计算机年级:班级:
12对口1、2、3班
2022-2022学年第二学期教学计划
本学期教学进度表
注:每周三课时
第三章查询与视图
教学目的:(1)通过教学使学生掌握用向导及设计器方法创建查询和视图的方
法,掌握查询与视图的应用能力。

;(2)了解查询与视图的区别;
(3)了解SQL的概念,掌握一些基本SQL查询语句的用法。

教学重点:查询、视图的设计与使用,SQL语句初步。

教学难点:创建新字段查询/视图,多表查询/视图,SQL语句。

教学方法:讲述、多媒体演示、案例任务驱动、实践操作、学案辅助。

课时安排:8-10课时创建、编辑、使用查询
教学目的:通过教学使学生了解查询的概念,了解使用查询的意义;掌握利用
创建、编辑查询的方法、运行查询的方法。

教学重点:查询设计器、查询中创建新的字段。

教学难点:创建新字段、表间关联、条件表达
教学方法:讲述、多媒体演示、案例任务驱动、实践探索、学案辅助教学过程:
(一)引入
我们前面学习了哪些可以查看记录信息的命令?Lit、Diplay、Browe 等。

这些命令可以查看范围内满足条件的记录,但若下一次仍要查看这些记录时,还要再执行一次命令,这样会造成一些重复性的工作,因此,VFP提供了一种查询功能,它可以将查询的相关要素组织起来,形成一个单独的文件,只要重新运行一次这个文件,就可以显示查询的数据了。

(二)新课教学
第三章查询与视图一、创建查询1、体会查询
运行一个建好的查询,与原来的命令方式进行对比,判断方便程度。

演示:运行“学籍总表”。

2、利用向导创建查询
演示:创建“学籍总表”查询。

步骤:
(1)项目管理器中定位到数据选项卡——查询;(2)新建——查询向导;(3)选择表——选择字段;
(4)条件——无;排序字段——无;(5)选择范围(全部);
(6)保存——d:\09net\查询\学籍总表.qpr;(7)运行
注意:查询文件的扩展名为.qpr,也可以用do命令来执行。

Dod:\09net\查询\学籍总表.qpr
学生练习:学案任务(1),尝试任务(2)
提示:任务(2)——显示学籍表中所有的男生,与任务(1)相比,
只是多了一个筛选条件,在筛选条件步骤设置相应条件即可。

学生练习:学案任务(3)
任务:使用向导创建查询——班级成绩,使其可以显示所有学生的班级、姓名、总分和平均分(注意字段显示顺序),要求按班级排序显示。

分析:本任务与前面任务的关键不同在于需要用到两个表,因此需要
在向导选择时选择多表向导,其余步骤与前面任务相似,增加的排序要求
也有一个步骤与之相对应。

学生练习:学案任务(4)、(5)
提示:如何表示计算机班——从班级中取字符进行匹配判断;如何表
示未还书——“还书日期”为空
完成较快的同学可以完成扩展任务。

3、利用查询设计器创建与修改查询
任务:利用查询设计器创建查询——女生,查询学籍表中的所有女生。

演示步骤:
新建——新建查询,进入查询设计器界面。

共有六个选项卡,逐一查看选项卡界面,推测选项卡功能。

本任务中
用到了字段与筛选两个选项卡。

学生练习:完成学案任务(1)、(2)对于学案任务(3),需要新
增加一个不存在的字段,但不需要在表中新增,只要在字段选项卡中的新
字段栏中输入:语文+英语a文科分,并添加进字段列表即可。

学生练习:完成学案任务(3)、(4)提示:对于任务(4),需要
添加两个数据表,并依据共有字段建立关联。

几个要点:两表关联、未还
书的表示、已借天数的表示。

分组查询任务:创建查询——性别分组,对学籍表按性别进行分组查询,显示全部字段。

提示:需要用到分组选项卡,显示的记录数与分组依据字段的值的个
数相同。

学生练习:完成学案任务(5),尝试探索完成任务(6)任务(6):利用查询设计器修改“班级成绩”查询,使得其按总分降序显示,并只显示总分最高的4个人,输出到屏幕。

提示:任务(6)中需要显示总分最高的4个人,可以观察各选项卡,判断在哪个选项卡中存在相关的功能,输出方式可以右击查询设计器的空
白处——选择“查询去向”——选择“屏幕”
扩展任务:
完成速度快的同学完成学案上的扩展任务。

前面学习了查询设计器创建和修改查询的方法,主要的功能都可以在
六个选项卡中实现。

有哪六个选项卡?各有什么作用?其实也有六个选项卡不能实现的功能,在上次课最后一个任务中就有一个输出到屏幕的需求,并不是通过六
个选项卡实现的,实际上就是设置查询的输出动去向。

一般来说,查询默认的输出目标是浏览窗口,实际上,也可以将查询
的结果输出到其他去向。

例:修改“89女生”查询,使其查询去向为屏幕。

观察结果,比较
与默认输出有何不同。

观察输出去向界面,还有哪些去向?浏览——默认值,浏览窗口
临时表——结果存在一个内存中的临时表中,原表关闭则临时表消失表——保存在自由表中
图形——保存在一个图形文件中屏幕——类似于Lit显示的位置
任务:修改“05借阅未还”查询,使其查询去向为临时表——temp。

运行该查询,并在命令窗口输入Lit命令,查看输出结果。

关闭项目管理
器(或关闭关闭VFP),重新打开该项目,看Temp表是否还存在?
不存在,原因是Temp为内存中的临时表,关闭项目或关闭VFP后,
该临时表消失。

任务:修改“文科分”查询,使其查询去向为表(d:\09net\data\文
科分),与设置去向为临时表有什么不同?
可通过查看d:\09net\data\文件夹看是否存在“文科分.dbf”文件。

学生练习:学案(14)任务(1)-(3)
下面我们介绍另一种查询——交叉表查询。

交叉表查询允许把表中的
某一字段值按行输出,另一字段按列输出,在交叉处输出第三个字段或是
第三个字段的计算值,通常用来进行数据的比较与分析。

任务:创建查询“销售分析”,交叉表,以商店名为行,以季度为列,以金额为数据。

通过向导来实现,其中注意设置行列字段时,要用手动字段到行、列
的方式来实现。

步骤:查询向导——交叉表向导——选择字段(季度、商店、金额);
定义布局:行——商店,列——季度,数据——金额,总结作息——
求和。

观察结果,看能数据反映了什么?思考:如行、列对调又有什么效果?学生任务?学案任务(4)、(5)。

注意:尝试交换行列字段,并对输出结果进行分析判断。

(三)小结
(四)教学反思
本来交叉表不需花很多的里间来教学,但在平时教学过程中,我发现
学生的自主分析能力和总结能力较弱,而交叉表可以作为数据分析的辅助
工具,不同的行、列、数据会得出不同方面的分析结果,因此,借此机会
培养学生的自主分析能力,这也是促进学生思考,提高独立学习能力的较
好途径。

视图、视图数据更新
教学目的:通过教学使学生掌握使视图的意义和作用,掌握视图的创
建方法,
教学重点:视图与查询的区别,利用视图更新的数据。

教学难点:视
图与查询的区别,利用视图更新的数据。

教学方法:讲述、多媒体演示、案例任务驱动、实践探索、学案辅助教学过程:
(一)复习导入
查询可以按用户的要求,查看一个或多个表中的指定字段,还可以新建显示字段,既可以实现单表查询,也可以实现多表查询,可以看出查询的功能还是很强大的。

那么查询有没有什么缺点呢?运行任一个查询,看能否修改其中的数据。

尝试结果发现查询不能修改数据,为了解决这个问题,VFP提供了另一个工具——视图。

(二)新课教学
视图与查询有很多相似的地方,如选择字段、筛选记录、表间关联、排序、分组等,而且在向导和设计器上也很相似。

它们的区别在于视图的结果是可以修改的,且修改的结果可以存回表中,而查询的结果只供输出、浏览。

视图并不以一个单独的文件形式存在,而是存放在数据库文件中,而查询则是一个独立的QPR文件。

任务:利用视图向导,创建“女生”视图。

提示:先定位到“视图”上,位置是在数据库中。

本任务不演示,由学生自主完成,在学生完成时,提醒学生观察与查询向导对比。

保存时与查询有何不同?这说明了什么?学生练习:完成学案任务(1)、(2)。

任务:使用视图设计器创建本地视图“平均分75以上”,使能筛选出“成绩”
表中平均分在75以上的记录,并按平均分降序排列。

提示:观察视图设计器,并与查询设计器比较,看相似与不同之处。

学生任务:完成学案任务(3)、(4)
注意:这两个任务也不演示,由学生根据在查询设计器中得到的经验完成。

尝试:运行视图并修改数据,退出视图后,打开源表,看有无更改过来。

实验表明,尽管在视图运行时可以修改其中的数据,但数据并未更新到数据表中,这是什么原因呢?
请同学们观察视图设计器,判断可能与哪个选项卡有关?——更新选项卡
切换到更新选项卡,观察并解释要点:
(1)关键字段——由一个或多个字段组成,其值必须唯一;(2)可更新字段——允许在运行时修改的字段;若某字段未被设为可更新字段,则在视图中的修改将不会更新到表中;
(3)SQLWhere选项——一般选择“关键字和可更新字段”,或“可更新
字段”,一旦检测到相关字段的值被更改,则产生更新动作;
(4)发送SQL更新——这是能更新到表的关键,不勾选,则不能将
修改内
容更新到表。

学生练习:完成学案任务(4)、(5)。

在我们前面创建的视图中有“平均分75以上”视图,每次运行会筛
选出平均分在75分以上的记录,那么如果要筛选出其它分值以上的记录
就需要重新建立一个视图,这样就太麻烦了,VFP提供了视图参数可以解
决这个问题。

演示:
视图——视图参数——输入变量名,如feng,定义数据类型,数值型;在视图的筛选条件中,原来填写分数值(75)之处,修改为“feng”,运行视图,可以发现系统弹出了一个对话框,用于输入分数值,输入分数
并回车后,会显示不同的结果。

学生练习:完成学案任务(7)。

完成速度较快的同学完成扩展任务。

注意:
1、利用视图更新数据时,在视图中修改数据后,必须再次运行该视图,数据才能传回原表。

2、视图必须存在于数据库中,而查询可以独立存在
3、视图不分配内存空间是虚拟的表,具有表的一切外部特征
4、查询去向是临时表时,表名只能以字母或下划线开始,可以包含
字母、数字和下划线,它可以是一个游标(curor)。

(三)小结
通过完成学案后的测试,复习回顾视图相关知识。

(四)教学反思
学案中原来出的视图参数任务是定制“专业”,在实现时有一定难度,且不是很方便,因此临时改为平均分75以上,并相应修改教案、学案。

另外,在视图更新方面,需要先关闭表,否则会出现数据未刷新的问题。

SQL查询语言
教学目的:通过教学使学生了解SQL语言,掌握SQL语言的组成,了
解最基本
SQL查询语言的使用。

教学重点:SQL的意义,基本SQL查询。

教学难点:SQL查询语句的
运用
教学方法:讲述、多媒体演示、案例任务驱动、实践探索、学案辅助
教学过程:
(一)复习导入
前面介绍查询时曾经说过,查询是一个独立的文件,那么文件的内容
是什么呢?又是如何实现查询功能的呢?
实际上是利用Sql语言实现的。

(二)新课教学
三、SQL语言
尝试:请同学们按学案要求,任意选择一个已创建好的查询,用查询
设计器将其打开,再右击查询设计器的空白处,选择“查看SQL”。

观察结果。

打开“我的电脑”——“d:\09net\查询”文件夹,右击任一QPR文件,选择“打开方式”,在弹出的对话框中选择“记事本”。

观察结果。

我们可以发现,查询实质上是由一条SELECT语句来实现的。

尝试将SQL语句复制到命令窗口执行,看与执行查询的结果是否相同。

实验表明是相同的。

1、SQL简介
SQL的全称是结构化查询语言,它是一种用来对数据库进行组织管理
和检索的语言。

最早由IBM公司设计,1982年美国国家标准协会(ANSI)着手SQL
的标准化工作。

1986年推出第一个ANSISQL标准,之后SQL被国际标准
化组织(ISO)接受成为国际标准。

SQL是一种综合的、通用的、功能极强的关系数据库语言。

它包括数
据定义、数据操作、数据管理、存取保护、处理控制等多种功能。

SQL的特点:
(1)一体化:该语言能完成定义关系模式、录入数据以及建立数据库、
查询、更新、维护、数据库安全控制等一系列操作。

(2)统一的语法结构:SQL有两种使用方式,联机使用和嵌入程序,但其
语法结构是一致的。

(3)非过程化:用户提出“干什么”,而不必管“怎么干”。

(4)语言简洁:语法简单,一共只有6个命令动词,却包含了丰富
的功
能。

Sql语言按功能可分为三大部分:(1)数据定义语言(DDL):用于
定义、撤销和修改数据库对象(Create);(2)数据操纵语言(DML):
用于数据库中数据的修改和检索(Inert、
Update、Delete、Select);
(3)数据控制语言(DCL):用于数据访问权限的控制(GRANT)。

以上内容简单介绍,不做重点。

我们主要学习的就是前面查看查询显示出来的Select语句。

2、最简
单SQL应用例:在命令窗口输入:elect某from学生!学籍或elect某
from学籍注意:需要先打开数据库,无需打开相关表。

学生任务:完成学案任务(1)-(7)。

Select语句也允许指定字段查询,例如:SQL命令查询学生的姓名、
性别、班级和入学成绩。

Select姓名,性别,班级,入学成绩from学籍
注意:由于elect语句可能很长,为加强阅读时的可理解性,可分行书写,示结束的语句行末用“;”结尾,全部书写完成后按回车执行。

学生任务:学案任务(8)—(11)
注意:任务中需要显示原表中不存在的字段,回忆前面学习查询时的做法。

语文+数学a文科分
介绍几个可以用在字段列表中的函数:count()统计表的记录个数;um()计算表达式的和;avg()计算表达式的平均值;min()计算表达式的最小值;ma某()计算表达式的最大值;
例:用Sql命令查询成绩表中的记录个数、语言均分、数学总分、英语的最高分和最低分。

electcount(某),avg(语文),um(数学),ma某(英语),min(英语);from 成绩
思考:执行后能否明确的看出每个数据的意义?如何改进?
注意:count()、um()、avg()都支持ditinct选项,当有此项时相同值的记录只有一条参与统计或计算。

例:electcount(ditinct性别)from学籍
学生任务:完成学案任务(12)—(14)
前面的任务都没有涉及到条件,如何利用elect进行条件查询呢?
打开前面创建的任一个有筛选要求的查询,观察并找出条件查询的使用方法。

通过观察分析,可知where子句用来定义条件。

例如:查询学籍表中的所有女生。

elect某from学籍where性别="女"
在SQL的Where子句中,还支持一些特殊的条件表示方法,用来大大简化条件表达式。

(1)betweenand
例:入学成绩在400至450之间(均含)
一般的表示方法是:where入学成绩>=400and入学成绩<=450而现在可以用:where入学成绩between400and450
可以看出,大大简化了语句,而且也增强了语句的可读性。

(2)like
例:查找05级的学生
一般的表示方法是:whereleft(班级,2)="05"现在可以用:where班级like"05%"%是通配符。

再如“计算机班”可以用:Where班级like"%计算机%"
(3)in(值列表)
例:查找5,10,12月出生的学生。

一般的方法是:
wheremonth(出生日期)=5ormonth(出生日期)=10ormonth(出生日期)=12而现在则可以用:month(出生日期)in(5,10,12)
学生任务:完成学案任务(15)——(21)
(4)查询空值
Inull或inotnull
例:查询zgda表中职务为空的所有职工信息。

Select某fromzgdawhere职务inull
注意事项:1、需要在表设计器中将“职务”字段对应的NULL勾选上2、在值中按CTRL+0输入空值.NULL.
修改查询去向。

tocreen输出到屏幕to路径+文件名输出到指定的文本文件intodbf路径+文件名输出到自由表
例:
elect某from成绩where平均分>=75tocreen
elect某from成绩where平均分>=75tod:\09net\75以上.t某t
elect某from成绩where平均分>=75intodbfd:\09net\data\75以上学生任务:完成学案任务(22)、(23)。

排序输出
orderby字段名[dec]dec的含义是降序。

例如:elect某from学籍orderby入学成绩
另外,可以显示按某种顺序的前几条记录或前百分比的记录。

例如:electtop5某from学籍orderby入学成绩
electtop20percent某from学籍orderby入学成绩
学生任务:完成学案任务(24)、(27)。

注意:任务27,需要用到前面所学的知识与技能,而且在条件选项中不可使用“a”的新字段,而在orderby子句中是可以的。

分组查询
groupby字段名
例如:elect某from学籍groupby性别学生任务:完成学案任务(28)、(31)注意:(29)、(30)涉及到多表,供同学自主研究,不做要求;(31)为综合性任务,主要考验学生对ql语句各子句的理解与掌握情况。

elect学号,书名,date()-借书日期a借书天数from借
阅;wheredate()-借书日期>=1000;orderby借书天数;
tod:\09net\noback.t某t
(三)小结
(四)教学反思
由于本次课内容较枯燥,我适当的引入了一些IT公司的轶事,以避免过于枯燥引起学生厌烦情绪,在讲解可用函数时,提醒学生回忆以前学过的命令,以达到触类旁通的效果,教学效果不错。

内容相当多,实际上是对教学内容进行了压缩,因此在讲解时尽量的少讲,尽可能的让学生发挥自己的思考能力,同时注意时间的把握,以大多数同学完成了同类知识点的一个任务为准,即引导切入下一个知识技能点。

这样,虽然进度
比较快,但大多数学生还是可以跟上的,对于约30%的学生来说,甚至还有余力回头做原先漏做的任务。

报表控件
教学目的:通过教学使学生了解并掌握利用报表设计器创建符合个性
要求的报
表;掌握利用报表控件实现格式化输出、插入图片等需求的实现;
教学重点:灵活使用报表设计器和报表控件实现实际需求。

教学难点:报表控件尤其是域控件的设置与使用。

教学方法:讲述、多媒体演示、案例任务驱动、实践探索、学案辅助
教学过程:
(一)新课导入
上次课,我们学习了如何创建报表,其中报表设计器的方法更自由,
当然,报表设计器的功能并不仅限于此,我们可以利用设计器定义出更具
个性的、符合实际要求的报表。

(二)新课教学
三、使用报表设计器创建、修改报表
用向导或快速报表的方法生成的报表,仍与我们需要的格式有所不同时,就需要对报表进行修改和设置,以符合我们的要求,这就要用到报表
设计器,在任务六中,实际上我们已经用到了报表设计器中的功能。

任务:修改已有报表——分数条,给其加上表格线。

1、右击工具栏的空白处,在弹出的菜单中勾选“报表控件”、“布局”,使这两个工具栏显示在VFP的工具栏区。

2、拖动细节带区边界,适当增加细节区域;
3、选择并拖动分数条内
容到适当的位置;
4、选择矩形框及线条给分数条内容加上表格线;
5、预览效果并局部
调整。

学生任务:学案任务(7)。

学生尝试:学案任务(8)。

添加“标题/总结”带区,通过添加控件测试标题带区和总结带区的
打印位置。

任务:制作纵向的分数条——分数条2。

要点:(1)页面设置:设
置纸型、设置横向、纵向排列,设置打印顺序,设定并排打印列数。

(2)添加控件:设置数据环境,将数据环境中的字段拖动到报表中,可添加文
本控件和域控件。

相关文档
最新文档