




免费预览已结束,剩余17页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第13章查询与视图,查询是数据库的重要操作之一。在查询中主要介绍使用查询向导和查询设计器建立查询文件的方法,同时了解到使用查询设计器建立查询就是构造SELECT-SQL的过程;在视图一节中介绍了视图向导和视图设计器,13.1查询,查询(query)是从数据库中获取数据的重要操作。VFP提供了许多的可视化的设计器,其中的查询设计器可以方便地设定查询数据的条件,并可将查询条件以文件的形式保存起来,即查询程序。查询程序可以运行,或者打开重新编辑修改,13.1.1建立查询文件,1.新建查询(1)在命令窗口中用CREATEQUERY命令。(2)选择“文件”菜单下的“新建”,然后选择“查询”图标。(3)在项目管理器的“数据”选项卡下选中“查询”,然后单击“新建”按钮例:新建一个查询文件,要求从std_da数据表中查询出所有记录并显示所有字段。,2.保存查询点击常用工具栏中的“保存”按钮保存查询,查询文件的扩展名为.qpr。重新编辑修改:用modifyquery对于存在的查询文件重新编辑修改。3.运行查询在查询设计的状态下,可以随时运行查询,点击工具栏中的运行图标,或者运行“查询”菜单中的“运行查询”命令,查询的运行结果默认输出到一个浏览窗口中DOLX1.QPR,补:总结modify,modistructure打开表结构设计器modifydatabase打开数据库设计器modiform打开表单设计器modifyquery打开查询文件设计器,4.查询的SQL语句在查询文件中保存的内容并不是查询的结果数据,而是设定的查询条件,所以当数据源改变时,查询的结果也会随着改变。查询文件是使用SQL命令建立起来的,可以查看查询文件中的SQL命令是否正确,也可以将其复制到程序中运行。查看查询文件的SQL命令的方法:查询设计器窗口中选择“查询”菜单下的“查看SQL”点击右键-选查看SQL,13.1.2设置查询条件下面用一个例子说明查询设计器中,各个选项卡的作用:例:建查询文件:法律.qpr,从std_da数据表中查询法律专业的学生记录,查询结果只包括学号、姓名、专业、入学成绩字段,并以学号升序排序。,13.1.3设置查询结果的输出格式,在前面的例子中,查询结果是显示在一个浏览窗口中,当关闭浏览窗口后结果不能被保存。在查询设计中,我们可以设置查询去向,将查询结果保存在数据表、或以其他形式输出到屏幕、报表等。在上例中,选择“查询”菜单下的“查询去向”,将打开“查询去向”对话框,浏览:在“浏览”窗口中显示查询结果,是默认的查询去向。临时表:将查询结果保存于临时表中。表:将查询结果作为表文件保存起来。图形:使查询结果可用于MicrosoftGraph,图形是包含在VisualFoxPro中的一个独立的OLE应用程序。屏幕:在活动输出窗口中显示查询结果。报表:向报表文件发送查询结果。标签:向标签文件发送查询结果。,13.1.4查询结果分组,利用VFP的分组功能,可以在查询结果输出中包括函数或表达式,依据某字段把相同数据值的记录放在一起,形成若干分组。分组在与某些累计函数联合使用时效果最好,诸如SUM、COUNT、AVG等。例13_3:统计各个专业各有多少名学生。,13.1.5多表查询有些情况查询结果来源于多个数据表的相关数据,这些表之间必须是有联系的。例DBCX:利用查询向导新建查询用来查看所有学生的选修课情况,包括他们的姓名、学号、课程代号、课程名及教师名(表:STD_DASTD_XKTCH_PK)例CX33:建立一个查询,要求输出姓名、学号、班级编号、每个学生的平均成绩以及总学分。(表:XS.DBF、CJ.DBF、KC.DBF),内部联接(InnerJoin):指定只有满足联接条件的记录包含在结果中。此类型是默认的,也是最常使用的联接类型。左联接(LeftOuterJoin):指定满足联接条件的记录,以及联接条件左侧的表中记录(即使不匹配联接条件)都包含在结果中。右联接(RightOuterJoin):指定满足联接条件的记录,以及联接条件右侧的表中记录(即使不匹配联接条件)都包含在结果中。完全联接(FullJoin):指定所有满足和不满足联接条件的记录都包含在结果中。此字段必须满足实例文本(字符与字符相匹配)。,13.1.6利用查询向导建立查询,VFP也提供了查询向导,一般用户按照向导指示可以创建所需的大部分查询。(1)查询向导:创建一个标准查询。(2)交叉表格查询:用电子数据表的格式显示数据。(3)图形向导:在MicrosoftGraph中创建VFP表数据的图形。例CXDB:利用查询向导新建查询用来查看所有学生的选修课情况,包括他们的姓名、学号、课程代号、课程名等多表信息,13.2.3在表单中使用查询,【例13-1】设计一个数据查询表单,可以浏览全体同学、查询数据库中优秀学生的成绩、平均成绩前5名以及成绩不及格的学生名单。其中成绩优秀是指某门课程的成绩85分。,设计步骤如下:(1)设计查询打开“查询设计器”,添加3个数据表:xs、cj、kc;在“字段”选项卡中选定:学号、姓名、课程名、成绩;在“排序依据”选项卡中选定排序的字段为:xs.学号;然后,选择“查询去向”为:临时表;最后将上述查询保存为:cx1.qpr。重新打开“查询设计器”,添加3个数据表:xs、cj、kc;在“字段”选项卡中选定xs.学号、xs.姓名、Kc.课程名、Cj.成绩;在“筛选”选项卡中设置搜索条件:cj.成绩85;在“排序依据”中选定:xs.学号;然后,选择“查询去向”为:临时表;最后将上述查询保存为:cx2.qpr。,重新打开“查询设计器”,添加3个数据表:xs、cj、kc;在“字段”选项卡中选定xs.学号、xs.姓名、Kc.课程名、AVG(Cj.成绩)AS平均成绩,将其添加到“选定字段”中;“排序依据”中选定AVG(Cj.成绩)AS平均成绩,排序选项为:降序;在“分组依据”中选定分组字段为:xs.学号;在“杂项”中设置列在前面的记录个数为:5;“查询去向”中选择输出去向为:临时表;最后将上述查询保存为:cx3.qpr。重新打开“查询设计器”,添加3个数据表:xs、cj、kc;在“字段”选项卡中选定xs.学号、xs.姓名、Kc.课程名、Cj.成绩;在“筛选”选项卡中设置搜索条件:cj.成绩60;在“排序依据”中选定:xs.学号;然后,选择“查询去向”为:临时表;最后将上述查询保存为:cx4.qpr。,(2)建立应用程序用户界面与设置对象属性选择新建表单,进入表单设计器,增加一个选项按钮组OptionGroup1和一个表格控件Grid1。将Grid1的DeleteMark属性改为:.F.假RecordSourceType属性改为:3查询(.PQR)RecordSource属性改为:cx1将选项按钮组控件OptionGroup1的ButtonCount属性改为4,13.2视图,视图(VIEW)是一个定制的虚拟表,可以是本地的、远程的并可以是带参数的。视图的数据源可来源于一个或多个表,或者引用其他视图。视图兼有表和查询的特点,视图与查询之间的不同之处在于对数据源的影响,查询是只读的,而视图则可以更新,也就是说,查询只是对一个或多个数据表的检索,而视图则可以访问数据,并且提供把修改后的结果送回初始数据源的能力。视图是根据数据表定义的,因此视图是基于表的,视图只能是数据库中的一部分,而不能脱离数据库独立存在。只有打开数据库,才能使用包含在其中的视图。,在VFP中,视图分为本地视图和远程视图。使用当前数据库中的数据表建立的视图是本地视图;使用其他数据源,例如其他格式的或远程服务器的数据库中的数据表建立的视图是远程视图,13.2.1创建本地视图,1使用视图设计器创建视图打开一个数据库,就看到本地视图和远程视图的图标。点击新建按钮启动视图向导或者使用视图设计器创建视图。在命令窗口中,键入CREATEVIEW命令视图设计器与查询设计器的使用方法几乎一样,但也存在几个不同点:(1)查询设计器新建的查询将以qpr为扩展名的文件单独存在于磁盘中;而视图是以数据库的一部分而保存的,不会生成单独的文件。(2)与查询相比,视图是可以更新的,所以视图有更新属性需要设置,因此视图设计器有一个“更新条件”选项卡。(3)视图没有查询去向。另外也可以使用CREATESQLVIEW命令,直接创建视图而不通过视图设计器。例:以std_cj新建一本地视图,显示所有记录、所有字段,其中学号、姓名字段值不能修改,平时、期中、期末及总成绩是可以修改的。,更新条件”选项卡中设置:表:指定视图所使用的哪些表可以修改。重置关键字:从每个表中选择主关键字字段作为视图的关键字字段,对于“字段名”列表中的每个主关键字字段,在钥匙符号下面打一个“对号”。关键字字段可用来使视图中的修改与表中的原始记录相匹配。全部更新:选择除了关键字字段以外的所有字段来进行更新,并在“字段名”列表的铅笔符号下打一个“对号”。发送SQL更新:只有选中该复选框才能将视图记录中的修改传送给原始表。字段名:显示所选的、用来输出(因此也是可更新的)的字段。关键字段(使用钥匙符号作标记):指定该字段是否为关键字段。可更新字段(使用铅笔符号作标记):指定该字段是否为可更新字段。SQLWHERE子句包括和使用更新两个选项按钮组用于设定多用户修改数据时的冲突检测及
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 内科血管疾病分类与诊疗概述
- 责任制护理分组分管床位
- 公司培训总结
- 2025年中国攀岩钩行业市场全景分析及前景机遇研判报告
- 《数智时代下的供应链管理:理论与实践》课件 第十二章 供应链金融
- 农业经理人培训
- 商铺消防知识培训
- 航空航天复合材料 课件 第5章 功能梯度复合材料朱和国
- 老年患者护理风险管理
- 娱乐场所会员充值卡发行与使用管理合同
- 高中英语必背3500单词表完整版
- 医师职业素养课件
- 电网工程设备材料信息参考价2025年第一季度
- Python试题库(附参考答案)
- GB/T 20977-2007糕点通则
- GB/T 18926-2008包装容器木构件
- 2023年泉州南安市文化和旅游系统事业单位招聘笔试题库及答案
- 高考日语语法复习之形容词课件
- 监理工作汇报-课件
- 钢卷尺检定证书
- 放到单位档案的个人自传
评论
0/150
提交评论