您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 《二级visual foxpro数据库程序设计》教案,清华大学出版社第7章 查询与视图
第7章查询与视图查询和视图是VisualFoxPro提供的,用于从数据库中提取有用信息的两个基本工具。查询和视图都可以从一个或几个相关联的表中快速检索出满足条件的记录,并将结果显示出来。7.1查询7.1.1查询的创建7.1.2查询的使用7.1.3查询的修改7.1.1查询的创建在VisualFoxpro中,可以通过SQLSELECT语句实现数据库的查询,但这对于初学者并不是非常容易,因此VisualFoxpro系统提供了查询向导和查询设计器,以可视化的方式完成相应的查询任务。无论使用查询向导还是使用查询设计器创建查询,通常都包括以下几个步骤:1.打开“查询向导”或“查询设计器”窗口。2.指定被查询的数据表或视图。3.选择查询结果中应出现的字段。4.设置查询的条件。5.设置排序依据及对查询结果进行分组。6.选择查询结果的输出类型。7.保存查询设置并建立查询文件。8.运行查询。与SQLSELECT语句不同,利用查询向导和查询设计器可以生成独立的查询文件,查询文件的扩展名为.qpr,查询文件的内容是根据用户在查询向导或查询设计器中所做的设置,自动产生的SQLSELECT语句。1.使用查询向导创建查询例7.1利用“查询向导”创建一个单表查询,查找“学生基本信息”表中男学生的基本信息,要求查询结果中包括学号、姓名、性别、出生日期、政治面貌、联系电话、家庭住址7个字段的信息,查询结果按学号的升序排列。操作步骤如下:①打开“学生管理”数据库,进入【数据库设计器】窗口②在系统主菜单中,打开【文件】菜单,选择【新建】选项,打开【新建】对话框,在【新建】对话框中选择【查询】单选按钮③单击【向导】按钮,打开【向导选取】对话框④在【向导选取】对话框中,选择【查询向导】选项,单击【确定】按钮,打开【查询向导】对话框⑤进入【步骤1-字段选取】,在【数据库和表】选项区中选择“学生管理”数据库,选择“学生基本信息”表,在【可用字段】中双击“学号”、“姓名”、“性别”、“出生日期”、“政治面貌”、“联系电话”、“家庭住址”7个字段,将其选入到【选定字段】中。⑥单击【下一步】按钮,进入【步骤3-筛选记录】,为查询结果设置筛选条件(对于单表查询,单击“下一步”按钮,会直接进入【步骤3-筛选记录】,对于多表查询,会进入【步骤2–为表建立关系】,再进入步骤3)。在【字段】下拉列表中选择“学生基本信息.性别”,在【操作符】下拉列表中选择“等于”,在【值】文本框中输入“男”。⑦单击【下一步】按钮,进入【步骤4–排序记录】,在【可用字段】中选择用于排序的字段“学生基本信息.学号”,单击【添加】按钮,将其选入到选定字段中,并选择排序方式【升序】。⑧单击【下一步】按钮,进入【步骤4a–限制记录】,本例在【数量】中选择【所有记录】单选按钮,如图7.7所示。如果需要显示部分记录,可以在【部分类型】选项区选择部分类型并在【数量】中设置部分值。⑨在此对话框中,可以同过【预览】按钮检查前面的设置是否正确,⑩关闭【预览】窗口,返回到【步骤4a–限制记录】对话框,如果不需要修改相关的设置,则单击【下一步】按钮,进入【步骤5–完成】对话框,如图7.9所示,本例选择【保存查询】,单击【完成】,打开【另存为】对话框。11在【另存为】对话框中,输入查询文件的名称“男学生信息查询.qpr”,选择合适的保存路径,如图7.10所示,单击【完成】按钮,即完成了查询文件的建立。2.使用查询设计器创建查询(1)启动查询设计器的方法如下:①打开【文件】菜单,选择【新建】选项,在打开的【新建】对话框中选择【查询】,然后单击【新建文件】按钮,打开查询设计器,②在【命令】窗口中输入CREATEQUERY命令同样可以打开查询设计器。③在项目管理器中选择【数据】或【全部】选项卡,选择文件类型【查询】,然后单击【新建】按钮,弹出【新建查询】对话框,在此对话框中单击【新建查询】按钮,打开查询设计器。2.使用查询设计器创建查询(2)查询设计器的使用实际上,查询就是一个预先定义好的SQLSELECT语句,查询设计器上方的数据环境显示区和下方的6个选项卡,与SQLSELECT语句中的各个参数是相互对应的。①“数据环境”显示区:查询设计器上方的空白区域是“数据环境”显示区。打开查询设计器的同时,【添加表或视图】对话框会同时打开,在此对话框中选择建立查询所依据的表或视图,相应的表或视图就被添加到“数据环境”中。如果【添加表或视图】对话框已经关闭,可以右键单击“数据环境”显示区,选择【添加表】或【移去表】命令,可以向数据环境中添加或移去表。“数据环境”显示区对应于SQLSELECT语句中的FROM子句。②【字段】选项卡:用于指定查询结果中包含的字段,对应于SQLSELECT语句中指定输出字段的部分。在【可用字段】列表中列出了数据环境中数据表的所有字段,根据查询需要,可以单击【添加】按钮逐个选择字段进行添加,也可以单击【全部添加】添加所有字段。【选定字段】列表中的字段就是出现在查询结果中的字段。在【函数和表达式】编辑框中也可以输入或编辑表达式,为查询添加新的字段。③【联接】选项卡:用于编辑多个表或视图的联接条件,对应于SQLSELECT语句的JOINON子句。④【筛选】选项卡:用于指定查询条件,对应于SQLSELECT语句的WHERE子句。⑤【排序依据】选项卡:用来指定查询结果的排列顺序,可以指定多个字段作为排序的依据,并可对每个字段的排序方式指定是“升序”或“降序”。对应于SQLSELECT语句的ORDERBY子句。⑥【分组依据】选项卡:用来指定查询结果分组所依据的字段,分组实际上是将某个字段具有相同内容的多个记录作为一组,压缩成一个结果记录。通常是与诸如SUM、AVG、COUNT等累计函数结合使用,完成基于一组记录的计算。对应于SQLSELECT语句的GROUPBY子句和HAVING子句。⑦【杂项】选项卡:用于设置一些特殊的查询条件。如果选择复选框【无重复记录】,就会在查询结果中清除重复记录,否则将允许重复记录的存在,对应于SQLSELECT语句的DISTINCT短语。如果不需要查询出满足条件的全部记录,可以在【列在前面的记录】选项区中取消复选框【全部】,可以选择【百分比】或【记录个数】用于指定查询结果中包含多少条记录,对应于SQLSELECT语句的TOP短语。例7.2利用查询设计器创建一个多表查询,查找选修了“汉语言文学”课程,并且成绩在90分以上的学生的信息,要求查询结果中包括学号、姓名、课程名、成绩字段,查询结果按成绩的降序排序,如果成绩相同,按照学号的升序排序。①打开“学生信息”数据库,进入【数据库设计器】窗口。②打开【文件】菜单,选择【新建】选项,打开【新建】对话框,选择【查询】单选按钮,单击【新建文件】按钮,打开【查询设计器】对话框。③添加数据源,由查询要求得出查询所依据的数据源是“学生成绩”表和“课程信息”表,在【添加表或视图】对话框将他们添加到数据环境中,添加完成后单击【关闭】按钮,④单击【字段】选项卡,从【可用字段】中依次选择“学生成绩.学号”、“学生成绩.姓名”、“课程信息.课程名”、“学生成绩.成绩”字段,把它们添加到【选定字段】中,可以在【选定字段】中鼠标拖拽各字段名前面的按钮以调整它们的排列顺序,⑤单击【联接】选项卡,查看联接条件,如图7.14所示,本例中使用默认的联接条件,无需修改。若在数据库中已经建立了表间的永久关系,查询设计器会使用相应的永久关系作为联接条件;否则,查询设计器在步骤③添加数据源的过程中,会根据表间的共有字段自动设置两个表之间的联接关系。⑥单击【筛选】选项卡,单击【字段名】下拉列表,选择“课程信息.课程名”,在【条件】下拉列表中选择“=”运算符,在【实例】文本框中输入“汉语言文学”,在【逻辑】下拉列表中选择两个筛选条件之间的逻辑关系“AND”,设置第二个筛选条件,【字段名】中选择“学生成绩.成绩”,【条件】中选择“=”,【实例】中输入“90”。⑦单击【排序依据】选项卡,在【选定字段】中选择“学生成绩.成绩”,在【排序选项】中选择【降序】,添加到【排序条件】中;再将“学生成绩.学号”字段添加到【排序条件】中,此步骤中需要注意两个排序条件的顺序,⑧保存查询设置,单击主窗口“常用”工具栏上的【保存】按钮,或Ctrl+s键.在弹出的【另存为】对话框中,选择适当的保存路径,输入查询文件的名称“课程成绩查询.qpr”。⑨单击“常用”工具栏中的!按钮,运行查询例7.3设计一个多表查询,查询各门课程的平均成绩,要求查询结果中包括课程号、课程名、平均成绩字段,结果按课程号的升序排序。①打开“学生管理”数据库。②添加数据源,由查询要求得出查询所依据的数据源是“学生成绩”表和“课程信息”表,在【添加表或视图】对话框将他们添加到数据环境中。③单击【字段】选项卡,从【可用字段】中选择“课程信息.课程号”、“课程信息.课程名”字段,将它们添加到【选定字段】中。再单击【函数和表达式】文本框右侧的“…”按钮,打开【表达式生成器】,编辑计算表达式“AVG(学生成绩.成绩)AS平均成绩”,④单击【确定】按钮,返回查询设计器窗口,单击【添加】按钮,将计算表达式添加到【可用字段】中,⑤单击【排序依据】选项卡,在【选定字段】中选择“课程信息.课程号”,【排序选项】中选择【升序】,将其添加到【排序条件】中。⑥单击【分组依据】选项卡,在【可用字段】列表框中选择“课程信息.课程名”,单击【添加】按钮,将其添加到【分组字段】中,⑦按Ctrl+s键保存查询设置,将此查询文件命名为“平均成绩查询.qpr”。单击按钮,运行查询,7.1.2查询的使用1.查询的运行查询文件创建完成后,可以使用如下方法运行查询:①打开查询文件之后,单击主窗口“常用”工具栏上的按钮。②打开查询文件之后,打开【查询】菜单,选择【运行查询】选项。③鼠标右键单击【查询设计器】窗口,在弹出的快捷菜单中选择【运行查询】选项。④在命令窗口中输入DO命令,其格式为DO查询文件名,要在命令窗口中正确运行查询,查询文件的扩展名.qpr不能缺省。DO命令可以在不打开查询文件的情况下直接执行。例7.4在不打开例7.1创建的查询文件“男学生信息查询.qpr”的情况下,运行该查询。在命令窗口中输入命令“DO男学生信息查询.qpr”,按回车键得到运行结果,如图7.22所示:2.查看SQL语句在查询设计器中建立查询时,系统会根据用户的设置自动产生对应的SQLSELECT语句,相应语句保存在扩展名为.qpr的查询文件中。若需要查看系统自动产生的SQLSELECT语句,可在查询设计器窗口中右击鼠标,在弹出的快捷菜单中选择【查看SQL】选项,或者执行【查询】菜单下的【查看SQL】命令,即可在打开的窗口中看到对应于当前查询的SQLSELECT语句。例7.5查看例7.2创建的查询文件“课程成绩查询.qpr”所对应的SQLSELECT语句。打开【文件】菜单,选择【打开】选项,在【打开】对话框中选择查询文件的路径,在【文件类型】下拉列表中选择“查询(*.qpr)”,选择文件名“课程成绩查询.qpr”执行【查询】菜单下的【查看SQL】命令,弹出窗口如图7.24所示:3.查询的输出格式查询文件运行后,默认情况下将查询结果输出到“浏览”窗口中,实际上,使用“查询设计器”创建一个查询时,用户可以指定将查询结果以不同的形式输出。打开【查询】菜单,选择【查询去向】选项,弹出【查询去向】对话框,如图7.25所示:【查询去向】对话框中共包含7个按钮,对应查询结果7种不同的输出形式:①【浏览】系统默认的查询去向,查询结果显示在浏览窗口中,是默认的输出形式。②【临时表】查询结果输出到一个临时的数据表中,对应于SQLSELECT语句的INTOCURSOR<临时表名>子句。③【表】查询结果输出到一个数据表文件中,对应于SQLSELECT语句的INTOTABLE|DBF<表文件名>子句。查询文件独立于数据库文件而存在,所以该数据表不会自动加到数据库中。④【图形】使用MicrosoftGraph程
本文标题:《二级visual foxpro数据库程序设计》教案,清华大学出版社第7章 查询与视图
链接地址:https://www.777doc.com/doc-3244495 .html