[计算机软件及应用]VF第四章.doc

上传人:sccc 文档编号:4561686 上传时间:2023-04-27 格式:DOC 页数:82 大小:4.08MB
返回 下载 相关 举报
[计算机软件及应用]VF第四章.doc_第1页
第1页 / 共82页
[计算机软件及应用]VF第四章.doc_第2页
第2页 / 共82页
[计算机软件及应用]VF第四章.doc_第3页
第3页 / 共82页
[计算机软件及应用]VF第四章.doc_第4页
第4页 / 共82页
[计算机软件及应用]VF第四章.doc_第5页
第5页 / 共82页
点击查看更多>>
资源描述

《[计算机软件及应用]VF第四章.doc》由会员分享,可在线阅读,更多相关《[计算机软件及应用]VF第四章.doc(82页珍藏版)》请在三一办公上搜索。

1、第四章 查询和视图第一节 基本概念建立数据库和存储大量数据的目的之一,就是供用户对存储在表中的记录进行查询,以便为我们的某项决策作出依据。而查询和视图都是VFP中用来从一个或多个相关联的数据表中提取有用信息的,但二者也存在有某些不同之处。一、查询查询是对数据库中的数据按指定内容和顺序进行检索输出。它可以用来从一个或多个相关联的数据表中提取有用的信息,可以对数据源进行各种组合,有效地筛选记录、管理数据并对结果进行排序;用户可以根据需要,迅速地用各种方式显示出数据表中的数据,并且可以控制显示数据表中的哪些字段,哪些记录以及以哪种顺序显示记录等等;查询也可以连接两个或两个以上的数据表,并显示出连接后

2、满足要求的记录。查询文件的扩展名为.QPR,是以文本文件存储的,并且查询是完全独立的,其不依赖于数据库的存在而存在。二、视图视图是在数据库表的基础上创建的一种虚拟表。所谓虚拟是指视图的数据是从已有的数据库表或其它视图中提取的,这些数据在数据库中并不实际存储,仅在数据词典中存储视图的定义。视图是一种与查询文件性质相近的文件,它是一种保存在当前数据库中的SQL语句。其创建过程与查询的创建过程类似,主要的差别在于视图的数据是可更新的,而查询不可更新。如果要得到一组只读型的检索结果,可以利用查询;若想得到一组可更新的数据,必须使用视图。视图通常分为本地视图和远程视图,本地视图使用VFP 6.0的SQL

3、语句从视图或表中选择信息;远程视图使用远程SQL语句从远程ODBC(Open Database Connectivity开放数据库互连)数据源表中选择信息,并且可以将一个或多个远程视图添加到本地视图中,以便能在同一个视图中同时访问VFP 6.0数据和远程ODBC数据源中的数据。使用查询和视图设计器可以创建、修改查询和视图。查询设计器(Query Designer)用于建立基于数据表的查询,视图设计器(View Designer)用于建立基于数据表的视图,两者的使用十分相似。三、进入查询和视图设计器可以使用菜单方式进入查询或视图设计器,选择“文件”菜单下的“新建”选项,激活“新建”对话框,如图2

4、- 所示,在文件类型项选择查询或视图;或者使用命令方式,在命令窗口中输入CREATE QUERY或CREATE VIEW命令,即可分别进入查询或视图设计器(如图4-1、图4-2所示)。对于视图设计器来讲,必须先打开相应的数据库才能进入。查询和视图设计器十分相似。从图中可以看出,两者较明显的区别是视图设计器多提供了一个“更新条件”选项卡和一个视图字段“属性”按钮,用于对将出现在视图中的字段进行修改规则的设置。进入查询或视图设计器后,系统菜单中将被添加一个“查询”菜单项,显示一个查询工具栏或视图工具栏,同时“显示”菜单的选项有所改变。图4-1 查询设计器图4-2 视图设计器在选择了新建查询或视图文

5、件后,出现打开表对话框,选择在查询或视图中用到的数据表;在添加表或视图对话框中选择打开多个数据表,此时会出现联接条件对话框(如图4-3所示),以选择两个数据表间的关联关系及联接类型。在设计器的上部显示的是在查询或视图中用到的数据表,每个数据表用一个可调整大小和位置的方框框起来,其中容纳了这个数据表中的字段及其索引信息。如果两个数据表间存在关联关系,将显示一条关联直线,把建立关联的两个数据表中的相应字段连接起来。如果双击该直线,将激活一个联接条件对话框,用于编辑该关联条件。在设计器的下部,有几个选项卡,可分别对查询或视图的字段、联接、筛选、排序依据、分组依据、杂项及视图中的更新条件进行设置。四、

6、字段选项卡 字段选项卡主要是指定字段以及函数和表达式。它提供的选项有(如图4-1所示):(一)可用字段:在列表框中给出建立查询或视图时所有可用的字段。(二)函数和表达式:指定一个函数或表达式。用户既可从列表中选定一个函数又可直接在文本框中键入一个表达式,单击“添加”按钮把它添加到选定字段框中。单击文本框右边的按钮,将出现表达式生成器对话框,可以对函数和表达式进行设定(如图4-4 所示)。(三)选定字段:列出将在查询或视图结果中出现的字段、合计函数和其他表达式,可以拖动字段左边的垂直双箭头来调整字段的输出顺序。(四)添加按钮:从可用字段框或函数和表达式框中把选定项添加到选定字段框中。(五)全部添

7、加按钮:把可用字段框中的所有字段添加到选定字段框中。(六)移去按钮:从选定字段框中移去所选项。(七)全部移去按钮:从选定字段框中移去所有选项。(八)属性:显示视图字段属性对话框,可以指定视图中的字段选项,与在数据库表中的字段操作相同。此选项只能在视图设计器中使用。五、联接选项卡指定联接表达式,用来匹配多个表或视图中的记录。它提供的选项有(如图4-5所示): 图4-5 联接选项卡(一)类型:指定联接条件的类型。默认情况下,联接条件的类型为“内部联接”。在联接类型的下拉列表中,可以选择其他类型的联接条件。1.Inner Join(内部联接):表示只返回完全满足联接条件的记录,是最常使用的联接类型。

8、2.Left Outer Join(左联接):表示返回左侧表中的所有记录以及右侧表中匹配的记录。3.Right Outer Join(右联接):表示返回右侧表中的所有记录以及左侧表中匹配的记录。4.Full Join(完全联接):表示返回两个表中的所有记录。(二)字段名:指定联接条件的第1个字段。在创建一个新的联接条件时,单击字段文本框右边的下拉按钮,将显示可用字段的下拉列表,可从中选择需要的字段。(三)否:反转条件,选定此选项,表示排除与该条件相匹配的记录。(四)条件:指定比较类型。单击条件文本框右边的下拉按钮,显示可用的比较类型:1.=(Equal):指定字段与右边的值相等。2.Like:

9、指定字段包含与右边的值相匹配的字符。3.=(Exactly Like):指定字段与右边的值必须逐个字符完全匹配。4.(Greater Than):指定字段大于右边的值。5.=(Greater Than or Equal To):指定字段大于或等于右边的值。7. =(Less Than or Equal To):指定字段小于或等于右边的值。8.Is NULL:指定字段包含NULL值。9.Between:指定字段大于等于右边的低值并小于等于右边的高值,文本框中的两个值用逗号分隔。10.In:指定字段必须与右边值的文本框中逗号分隔的几个值中的一个相匹配。(五)值:指定联接条件中的其他表和字段。(六)

10、逻辑:在联接条件列表中添加AND或OR条件。(七)插入按钮:在所选定联接条件之上添加一个空联接条件。(八)移去按钮:将所选定的联接条件删除。在查询或视图中,当添加一个以上的表,并且表与表之间尚未指定联接条件时,将会出现一个“联接条件”对话框,用以指定表与表之间的联接条件,如图4-3所示。六、筛选选项卡在筛选选项卡中,可以指定选择记录的条件。它提供如下选项(如图4-6所示): 图4-6 筛选选项卡(一)移动按钮 拖动移动按钮,可以上下移动选定项。(二)字段名:指定用于筛选条件的字段名,单击文本框右边的下拉按钮,将显示所有可用字段。(三)否:反转条件,排除与该条件相匹配的记录。(四)条件:指定比较

11、类型,与联接选项卡中的比较类型相同。(五)实例:指定比较条件。(六)大小写:指定在条件中是否与实例的大小写相匹配。(七)逻辑:在筛选条件中添加AND或OR条件。(八)插入按钮:在所选条件之上插入一个空的筛选条件。(九)移去按钮:将所选定的筛选条件删除。七、排序依据选项卡在排序依据选项卡中,可以给记录的输出选定排序依据。它提供的选项有(如图4-7所示)图4-7 排序依据选项卡(一)选定字段:在列表框中显示输出结果将出现的字段。(二)排序条件:指定用于排序的字段和表达式,显示在每一字段左侧的箭头指定递增(箭头向上)或递减(箭头向下)排序。单向箭头左侧的垂直双向箭头移动按钮可以更改字段的排列顺序。(

12、三)升序:指定按照排序条件框中选定项的升序进行排序。(四)降序:指定按照排序条件框中选定项的降序进行排序。(五)添加按钮:将选定字段列表框中选定的字段添加到排序条件框中。(六)移去按钮:从排序条件框中移去选定项。八、分组依据选项卡分组依据选项卡可以控制记录的分组,与某些累计功能联合使用时,分组效果较好。它提供的选项有(如图4-8所示):图4-8 分组依据选项卡(一)可用字段:列出查询表或视图表中的全部可用字段和其他表达式。(二)分组字段:列出确定查询结果分组的字段、合计函数和其他表达式。字段按照它们在列表中显示的顺序分组,可以拖动字段左边的垂直双向箭头,更改字段顺序和分组层次。(三)添加按钮:

13、向分组字段框中添加可用字段框中的选定项。(四)移去按钮:从分组字段框中移去选定项。图4-9 满足条件对话框(五)满足条件按钮:显示“满足条件”对话框(如图4-9所示),从而可为记录组而不只是对单个记录设置选择条件。其中的字段名、否、实例、大小写、逻辑、插入、移去等与筛选选项卡相同。九、更新条件选项卡指定更新视图的条件,只适用于视图设计器(如图4-10所示)。图4-10 更新条件选项卡(一)表:指定视图所使用的哪些表可以修改,此列表中所显示的表都包含了字段选项卡选定字段列表中的字段。(二)重置关键字按钮:从每个表中选择主关键字字段作为视图的关键字字段,对于字段名列表中的每个主关键字字段,在钥匙符

14、号下面打一个“”。关键字字段可用来使视图中的修改与表中的原始记录相匹配。(三)全部更新按钮:选择除了关键字字段以外的所有字段来进行更新,并在字段名列表的铅笔符号下打一个“”。(四)发送SQL更新:指定是否将视图记录中的修改传送给原始表。(五)字段名框:显示所选的、用来输出的(也是可更新的)字段。1.关键字段(标记为钥匙符号):指定字段是否为关键字段。2.可更新字段(标记为铅笔符号):指定该字段是否为可更新字段。3.字段名:显示可标志为关键字字段或可更新字段的输出字段名。 (六)SQL WHERE子句包括框:控制哪些字段可以添加到WHERE子句中的选项。通过这些选项,在把视图修改传送到原始表时,

15、就可以检测服务器上的更新冲突。 冲突是由视图中的旧值和原始表的当前值之间的比较结果决定的(OLDVAL()和CURVAL()之间的比较)。如果两个值相等,则认为原始值未做修改,不存在冲突;如果它们不相等,则存在冲突,数据源返回一条错误信息。旧值和当前值之间的冲突所返回的错误为“错误1585:记录已被其他人修改”,或者是“错误1494:更新冲突。请使用TABLEUPDATE()进行强制更新或使用TABLEREVERT()回滚。”1.关键字段:如果在原始表中有一个关键字字段被改变,设置WHERE子句来检测冲突。对于由另一用户对表中原始记录的其他字段所做修改,不进行比较。2.关键字和可更新字段:如果

16、另一用户修改了任何可更新的字段,设置WHERE子句来检测冲突。3.关键字和已修改字段:如果从视图首次检索(默认)以后,关键字字段或原始表记录的已修改字段中,某个字段做过修改,设置WHERE子句来检测冲突。4.关键字和时间戳:如果自原始表记录的时间戳首次检索以后它被修改过,设置WHERE子句来检测冲突。只有当远程表有时间戳列时,此选项才有效。(七)使用更新框:设置更新的方式。1.SQL DELETE然后INSERT:指定删除原始表记录,并创建一个新的在视图中被修改的记录。2.SQL UPDATE:用视图字段中的变化来修改原始表的字段。十、杂项选项卡杂项选项卡指定是否要对重复记录进行检索,同时是否

17、对记录(返回记录的最大数目或最大百分比)做限制。它提供的选项有(如图4-11所示): 图4-11 杂项选项卡(一)无重复记录:是否允许有重复记录输出。(二)交叉数据表:将查询结果送往Microsoft Graph、报表或一个交叉表格式的数据表中。 当且仅当字段选项卡选定字段框中选择了3个输出字段时,交叉数据表复选框控件才是有效的。这3项将分别描述图形的X轴、Y轴和数据单元值。(三)列在前面的记录框:指定将在查询结果中出现的记录,可指定出现的记录数或百分比。第二节 创建查询 利用查询向导可以建立查询,使用查询设计器也可以创建、修改查询。一、 使用查询向导创建查询 利用“查询向导”建立查询操作的步

18、骤是:(一) 在VFP 6.0系统菜单中,打开“文件”菜单,选择“新建”选项,进入“新建”对话框,如图4-12 所示。(二) 在“新建”对话框中,选择“查询”单选项,然后单击“向导”按钮,进入“向导选取”对话框,如图4-12所示。 (三) 在“向导选取”对话框中,有3种形式的查询可以使用,即:1.查询向导:创建一个标准的查询。2.交叉表向导:以电子数据表的格式显示数据。3.图形向导:以图形的方式显示查询结果。 4-12 向导选取对话框根据需要,选择其中的一种。我们选择“查询向导”,创建一个标准的查询,单击“确定”按钮,进入查询向导的“步骤1-字段选取”对话框 图4-13 查询向导“步骤1”对话

19、框在“数据库和表”框中选择表“学生”,在“可用字段”列表框中分别选择学号、姓名、性别、入学成绩等字段添加到“选定字段”列表框中。再选择表“成绩”,在“可用字段”列表框中分别选择专业、平均分等字段添加到“选定字段”列表框中,如图4-13所示。图4-14 查询向导“步骤2”对话框(四)单击“下一步”按钮,进入查询向导的“步骤2-为表建立关系”对话框。这一对话框的任务是从关系列表中选择匹配的字段来为表或视图间建立关系。对于表“学生”和“成绩”,是由字段“学号”联系起来的一对一的关系,这里选“学生.学号”和“成绩.学号”,添加两个数据表间的关联关系。单击“添加”按钮,将关系添加到列表框中,如图4-14

20、所示。(五)单击“下一步”按钮,进入查询向导的“步骤2a-字段选取”对话框,如图4-15所示。通过对话框中不同的选项按钮可以限制查询。 图4-15 查询向导“步骤2a”对话框选项说明:1.仅包含匹配的行:将选取两表中关键字(如学号)相同的记录,这相当于创建一个内部联接。2.此表中的所有行(学生):将选取“学生”表中的所有记录,而“成绩”表中学号不相同的记录将不出现;在“学生”表中出现而在“成绩”表中没有的记录,其字段值将以NULL值替代。图4-16 查询向导“步骤3”对话框 3.此表中的所有行(成绩):将选取“成绩”表中的所有记录,而“学生”表中学号不相同的记录将不出现;在“学生”表中没有的记

21、录,其字段值将以NULL值替代。4.两张表中的所有行:将选取“学生”表和“成绩”表中的所有记录。 (六)单击“下一步”按钮,进入查询向导的“步骤3-筛选记录”对话框,如图4-16所示,此时若单击“预览”按钮可以显示建立的查询,以查看结果。 (七)在查询向导的“步骤3-筛选记录”对话框中,可选择参数对记录进行筛选,然后可单击“完成”按钮结束操作;或单击“下一步”按钮,进入查询向导的“步骤4-排序记录”对话框,如图4-17所示。 图4-17 查询向导“步骤4”对话框(八)在查询向导的“步骤4-排序记录”对话框中,可选择参数对记录进行排序。在可用字段列表框中选择对记录排序的关键字段(如学生.入学成绩

22、),单击“添加”按钮,则选取的字段出现在选定字段列表框中。选择升序、降序单选项之一,使新建查询中的记录以选定的字段的升序或降序排序。(九)单击“完成”按钮结束操作;或单击“下一步”按钮,进入查询向导的“步骤4a-限制记录”对话框,如图4-18所示。在此对话框中有两组选项可对记录范围进行限制。图4-18 查询向导“步骤4a”对话框1.部分类型框:如果选择“所占记录百分比”,则数量框中的“部分值”选项将决定选取的记录的百分比;如果选“记录号”,则“数量”框中的“部分值”选项将决定选取的记录数。2.数量框:其中的“所有记录”将显示满足前面所设条件的所有记录。(十)单击“完成”按钮结束操作;或单击“下

23、一步”按钮,进入查询向导的“步骤5-完成”对话框,如图4-19所示。 选项说明:1.保存查询:将所设计的查询保存,在以后的“项目管理器”或程序中运行。2.保存并运行查询:将所设计的查询保存,并运行该查询。3.保存查询并在“查询设计器”修改:将所设计的查询保存,同时打开“查询设计器”修改该查询。(十一)查询文件的名称,单击“保存”按钮进行保存,此时在指定的文件夹下保存了一个扩展名为.QPR的查询文件。至此结束查询文件的创建操作。单击“完成”按钮,进入“另存为”对话框,如图4-20所示。在此对话框中,输入 图4-19 查询向导“步骤5”对话框图4-20 另存为对话框二、 使用查询设计器创建查询 在

24、VFP 6.0中,数据表的查询大部分都是通过查询设计器来完成的。在上一节中,我们对查询设计器做了比较详细的介绍,这里我们给出通过查询设计器建立查询的操作步骤:(一)在“新建”对话框中,选定“查询”单选项,然后单击“新建文件”按钮,打开“查询设计器”对话框,如图4-1所示。(二)在系统主菜单中选择“查询”菜单的“添加表”选项,打开“添加表或视图”对话框,如图4-21所示。 (三)在“添加表或视图”对话框中,把要建立查询的数据表添加到查询设计器中。如果在所添加的数据表之间没有建立联接,将会 图4-21 添加表或视图对话框出现“联接条件”对话框,如图4-3所示。(四)在“联接条件”对话框的联接类型中

25、,有4种类型的联接,可以指定联接条件的右边字段和左边字段,也可以指定联接类型:内部联接、左联接、右联接和完全联接。对话框下部的描述框详细说明了当选择不同的联接选项时,每个表的字段如何互相联系。选定联接条件和所需的联接类型后,单击“确定”按钮,并关闭“添加表或视图”对话框。(五)在“查询设计器”对话框的“字段”选项卡中,选择数据表要出现在查询中的字段,然后退出“查询设计器”对话框,进入“Microsoft Visual FoxPro”对话框,如图4-22所示,单击“是”按钮,进入“保存”对话框。图4-22 Microsoft Visual FoxPro对话框(六)在“保存”对话框中,输入创建查询

26、的名称,单击“确定”按钮,结束操作,如图4-23所示。 图4-23 保存对话框 三、使用命令方式创建查询 在VFP中,除了可以利用菜单的方式打开“查询设计器”外,还可以通过CREATE或MODIFY命令方式打开“查询设计器”,具体格式为: 【格式1】CREATE QUERYNOWAIT 【功能】打开“查询设计器”。 【说明】1.:指存储查询的文件名。2.“?”:显示“创建”对话框,提示输入存储查询的文件名。3.NOWAIT:在打开“查询设计器”后,继续程序的执行,不等待设计器的关闭。该子句只在程序中使用有效,在命令窗口中使用没有任何作用。 【格式2】MODIFY QUERY ?WINDOWIN

27、 SCREENNOWAITSAVE 【功能】打开“查询设计器”,创建或修改查询文件。 【说明】1.:指查询文件的文件名。2.“?”:显示打开对话框,从中选择已存在的查询或输入新建查询文件的文件名。3.WINDOW指定一个窗口,“查询设计器”将采用该窗口的特性。4.IN SCREEN强制性地把“查询设计器”在主窗口打开。5.NOWAIT打开“查询设计器”后,继续程序的执行,只在程序中有效。6.SAVE激活另一窗口后,保持“查询设计器”的打开状态,只在程序中有效。四、执行和使用查询建立查询的目的是要使用它,把需要的记录查找出来。设计好的查询实际上是一个VFP 6.0程序,运行它才能得到需要的查询结

28、果。(一)执行查询在利用查询设计器创建或修改查询后,而又未退出设计器时,在VFP 6.0系统菜单中,打开“查询”菜单,选择“运行查询”选项,即可执行这个查询。另一种方法是在程序菜单中执行查询:图4-24 运行对话框打开“程序”菜单,选择“运行”选项,出现“运行”对话框,如图4-24所示,选择要执行的文件,单击“运行”按钮,则运行这个文件。此外,也可以通过DO命令运行已建立的查询文件,显示查询结果,具体格式为: 【格式】DO 【功能】运行查询文件。【说明】1.:指查询文件的文件名,扩展名.QPR不能省略。2.执行DO命令时,它是要求打开与它相对应的表,所以在执行DO命令之前需打开相应的表,否则会

29、出现打开对话框要求选择表文件。在VFP 6.0中执行一个程序,系统首先会伪编译这个程序,将源程序码转换成可更快运行的程序码。查询的伪编译查询存储在具有相同文件名、扩展名为.QPX的文件中。(二)使用查询执行查询后,查询结果在查询窗口中显示,如图4-25所示。图4-25 显示查询出的“信息管理”专业学生注意,显示的查询结果是只读的,即只能浏览显示表中的数据,而不能修改这些数据。查询的结果也可以定向输出到报表、标签等其他类型的文件中。在浏览了数据后,可以关闭查询窗口,但是查询仍然还是打开的,所以可以随时选择显示菜单中的浏览“查询”选项来浏览查询结果。也是由于同样的原因,如果要打开一个已运行查询的表

30、时,则会提示“文件正在使用”,此时可在命令窗口中输入命令CLOSE DATABASES关闭查询,然后再重新打开该表。例4-1 利用“查询设计器”创建查询,要求包括如下内容:学号、姓名、性别、入学成绩、专业、平均分,并且要求在查询结果中只包含“信息管理”专业的学生。在本查询中要用到2个数据表:“学生表”和“成绩表”,其中学生表中包含如下字段:学号、姓名、性别、出生日期、专业、入学成绩、党员否、简历、照片;成绩表中包含的字段为:学号、姓名、专业、英语、数学、物理、计算机、平均分。“学生表”和“成绩表”通过“学号”字段建立联接。具体操作如下:1.在“新建”窗口中选定“查询”单选项,单击“新建文件”按

31、钮,进入“查询设计器”窗口;2.在“查询设计器”中,添加需要的2个数据表,并为它们建立关联;3.在“查询设计器”的分组依据选项卡中,添加需要的字段;在筛选选项卡中输入筛选条件:学生.专业=信息管理;在排序依据选项卡中,可以选定按“入学成绩”的降序进行排序;4.在系统窗口的“查询”菜单中单击“运行查询”选项,可以显示查询结果,如图4-25所示。5.关闭查询设计器,保存查询结果。例4-2 利用“查询设计器”查询所有女生的入学成绩和平均分。在本例中要用到2个数据表学生表和成绩表与例4-1相同,学生表和成绩表亦通过“学号”字段建立联接。具体操作如下:1.在“新建”窗口中选定“查询”单选项,单击“新建文

32、件”按钮,进入“查询设计器”窗口;图4-26 显示查询出的女生的成绩2.在“查询设计器”中,添加需要的2个数据表,并为它们建立关联; 3.在“查询设计器”的分组依据选项卡中,添加需要的字段;在筛选选项卡中输入筛选条件:学生.性别=女;在排序依据选项卡中,可选定按“平均分”的降序进行排序;4.在系统窗口的“查询”菜单中单击“运行查询”选项,可以显示查询结果,如图4-26所示。5.关闭查询设计器,保存查询结果。五、定向输出查询结果前面设计的查询可以输出到不同的目的地。如果没有选定输出目的地,查询结果将显示在“浏览”窗口中。图4-27 查询去向对话框 从“查询”菜单中选择“查询去向”,或在“查询设计

33、器”工具栏中选择“输出设置”按钮,此时将打开“查询去向”对话框,如图4-27所示。可以选择将查询结果送往何处。使用表4-1选择查询输出的去向。表4-1 查询输出去向输出选项输出去向浏览在“浏览”窗口中显示查询结果临时表将查询结果存储在一个命名的临时只读表中表使查询结果保存为一个命名的表图形使查询结果可用于Microsoft Graph(Graph是包含在VFP中的一个独立的应用程序)屏幕在VFP主窗口或当前活动输出窗口中显示查询结果报表将输出送到一个报表文件(.FRX)标签将输出送到一个标签文件(.LBX)许多选项都有一些可以影响输出结果的附加选择。例如,“报表”选项可以打开报表文件,并在打印

34、之前定制报表,也可以选用“报表向导”来创建报表。六、利用查询结果建图形在工作中经常需要根据表中的数据绘制出饼图、条形图等反映数据情况的简单直观的图形,VFP也具有这种作图功能。图形能直观清楚地反映出表中可计算数据的情况。要将表中的数据生成图形,有两种方法,第一种是利用“图形向导”来生成图形,另一种是利用“查询设计器”的“查询去向”中的“图形”来生成。(一)利用图形向导建图形1.选择“文件”菜单下的“新建”选项,激活“新建”对话框,在文件类型项选择查询。2.在“新建查询”对话框中单击“查询向导”,在“向导选取”对话框中选“图形向导”,单击“确定”按钮。3.进入图形向导的“步骤1-字段选取”对话框

35、。在图形向导的步骤1对话框中打开所需要的表,在可用字段中选择好字段,如图4-28所示。图4-28 图形向导“步骤1”对话框4.单击“下一步”按钮,进入图形向导的“步骤2-定义布局”对话框。在“可用字段”框中选取一个字段,按下左键,将其拖到“坐标轴”文本框中;在“可用字段”框中选取一个或多个数值型字段拖到“数据系列”框中,如图4-29所示。图4-29 图形向导“步骤2”对话框5.单击“下一步”按钮,进入图形向导的“步骤3-选择图形样式”对话框,在此对话框中可以选择确定图形所采用的样式,如图4-30所示。图 4-30 图形向导“步骤3”对话框6.单击“下一步”按钮,进入图形向导的“步骤4-完成”对

36、话框,如图4-31所示。选项说明:(1)将图形保存到表单中:将创建的图形放到表单中,同时打开“表单设计器”修改。(2)将图形保存到表中:将创建的图表放到一个表的通用字段中。(3)使用该图形创建查询:将图形保存成一个查询文件。7.在图形向导的步骤4对话框中,输入图形的标题,单击“完成”按钮,弹出“另存为”对话框,输入表单文件的名称,单击“保存”按钮,此时在指定的文件夹下保存了一个扩展名为.SCX的表单文件。至此结束图形文件的创建操作。8.到图形向导的步骤4对话框时,图形的创建工作已准备就绪,如果需要看结果,可在此时单击“预览”按钮,或将创建的图表打开,并打开表中的唯一字段“通用字段”,可以看到数

37、据表如图4-32所示。 图4-31 图形向导“步骤4”对话框 图4-32 数据表结果如果在步骤4对话框中选将结果保存为查询,将打开“另存为”对话框,输入查询文件名,然后打开“查询设计器”修改。将查询保存后,每次运行该查询,都将打开“图形向导”的“步骤2-定义布局”,开始创建图形。(二)将查询结果输出成图形查询结果也可以以图形的形式输出。将查询设计好以后,在“查询去向”对话框中选“图形”,此后运行查询时,将打开图形向导的“步骤2-定义布局”对话框,然后按照前面图形向导的方法,创建数据图。创建的数据图同样可以保存成表中的通用字段或者表单等形式。例4-3 对于“成绩”表,将查询结果生成图形。具体操作

38、如下:1.在“新建”窗口中,选定“查询”单选项,单击“向导”按钮,进入到“向导选取”对话框,在此对话框中选“图形向导”,单击“确定”按钮。2.进入图形向导的“步骤1-字段选取”对话框,如图4-28所示。 选择数据表“成绩”,在可用字段中选择字段“专业”、“计算机”和“平均分”。3.在图形向导的“步骤2-定义布局”对话框中,从“可用字段”框中选“专业”,按下左键,将其拖到“坐标轴”文本框中;在“可用字段”框中选“计算机”,按下左键,将其拖到“数据系列”框中;同样,拖动“平均分”到“数据系列”框中,如图4-29所示。4.在“步骤3-选择图形样式”对话框中,选“三维柱形图”。5.在“步骤4-完成”对

39、话框中,输入图形的标题:成绩图表;选择“将图形保存到表中”单选项,单击“预览”按钮,显示数据表结果如图4-32所示。6.单击“完成”按钮,将创建的图形保存到表“成绩图表”中。七、创建交叉表查询交叉表是对行和列的数据求和的最有用的方法。在前面我们用过的查询中,将数据分组的方法是单一的,即只能用一种方法来分组求和,而使用交叉表,可以用多种方法来分组,并且可以分别对这些分组求和。因此,用交叉表来作为总结性的报表,对我们的工作来说是十分方便的。如果想在交叉表中显示查询结果,可以使用交叉表向导。生成一个交叉表查询用于显示在一个电子数据表中的查询结果。当我们通过查询来获取某些数据时,交叉表往往具有很重要的

40、作用。我们以数据表“成绩”为例,来说明交叉表的使用。运行交叉表向导,可以用以下方法:图4-33 交叉表向导“步骤1”对话框图4-34 交叉表向导“步骤2”对话框 (一)在“向导选取”对话框中,选定“交叉表向导”,单击“确定”按钮,将会出现交叉表向导的“步骤1-字段选取”对话框,如图4-33所示,对话框中的内容和形式与“查询向导”对话框(步骤1)基本相同。在这里,需要选定将要使用的数据库或数据表,并选定所需字段,然后单击“下一步”按钮,进入交叉表向导的“步骤2-定义布局”对话框,如图4-34所示。 图4-35 交叉表向导“步骤3”对话框 (二)在交叉表向导的“步骤2-定义布局”对话框中,需要定义

41、交叉表的布局。在本例中,我们将“姓名”字段放在“行”的位置,“专业”字段放在“列”的位置,“平均分”字段放在“数据”区域,直接用鼠标将上述3个字段拖到相应的位置即可。设置好“交叉表”的布局之后,单击“下一步”按钮,进入下一个对话框,如图4-35所示。图4-36 交叉表向导“步骤4”对话框(三)在交叉表向导的“步骤3-加入总结信息”对话框中,需要在“总结”下面的单选项中选择每行所需的总计类型;在“分类汇总”下面的单选项中确定是否对数据添加分类汇总列。通过从“总结”和“分类汇总”区域选择合适的单选项,可以添加一个包含总结信息和小计的列。总和将出现在交叉表查询结果中的最右列内。选定之后,单击“下一步

42、”按钮或单击“完成”按钮,进入如图4-36所示的对话框。本例中,选定“总结”下的“求和”单选项和“分类汇总”下面的“数据求和”单选项。(四)在交叉表向导的“步骤4-完成”对话框中,根据需要选择结果的保存类型。在对话框下面有一个“显示NULL值(D)”的复选框,如果选定此复选框,则在交叉表中没有赋值的字段将自动赋给“NULL”值,以后需要时,可以随时添加相应的内容;如果不选定此复选框,在交叉表中没有赋值的字段将没有任何显示。如果要在“浏览”窗口中显示结果,选择“保存并运行交叉表查询”单选按钮。这里选“保存并运行交叉表查询”。此外,在对话框的右下角还有一个“预览”按钮,单击此按钮,将会显示交叉表的

43、结果,如果所作的交叉表不满足自己的需要,还可以退回到“交叉表”向导对话框中,重新设定交叉表。本例中的选定如图4-36所示。(五)一切都设置好之后,单击“完成”按钮后,将会出现“另存为”对话框,选择保存交叉表的文件夹,并为所作的交叉表确定名字。本例的交叉表结果如图4-37所示。保存完交叉表查询后,可以像其他查询一样,在“查询设计器”中打开并修改它。此外,在“工具”菜单下的“向导”子菜单,选择“查询”,在“向导选取”对话框中,选择“交叉表向导”,也可以打开“交叉表向导”。图4-37 交叉表结果显示八、SQL语言简介 查询命令只适用于在一个数据表中查询所需要的数据,如果需要在多个数据表中进行查询,可

44、以使用VFP 6.0的结构化查询语言SQL(Structured Query Language),它是一种用于关系型数据库定义、检索数据的标准语言。结构查询语言SQL的句法非常英语化,简单、易学,是一种非程序化的语言。使用结构查询语言SQL,可以简化查询操作,许多复杂的工作,通过一条简单的SQL代码就可以解决。但是,将SQL用于连接库查询也存在两个主要的缺陷:用SQL得到的结果是只读的,不能进行更改;SQL的查询结果只包括在两个表中都能找到的记录。查询是SQL语言的重要组成部分,除此之外,SQL语言还包含对数据的定义、操纵和控制功能等部分。以下主要介绍SQL的查询部分。自从1986年IBM完成

45、了SQL的开发以后,SQL就被当做是关系型数据库通信的标准语言。1987年,这个标准被ISO作为国际标准接受。 管理关系型数据的语言有很多种,例如Oracle、Microsoft SQL Server、Informix、Sybase等,SQL这个标准提供了不同语言实现之间的一致性和可移植性。VFP作为一种可视化的关系型数据库,也可以使用SQL语句作为数据库的信息检索工具。当在应用程序中使用查询或视图时,实际是在使用SQL-SELECT命令。这里的SQL-SELECT命令可以由查询设计器中定义的查询来创建;也可以由视图设计器定义的视图来创建;还可以在事件代码或过程代码中创建。添加到应用程序中的查

46、询,可以对数据源进行各种组合,并有效地筛选记录、管理数据及对结果排序。所有这些工作都是用SQL-SELECT命令完成的。通过使用SQL-SELECT命令,可以完全控制查询结果以及结果的存放位置。如果要创建一个SQL-SELECT命令,可以使用“查询设计器”或“视图设计器”构造此语句,然后将SQL窗口中的内容复制到代码窗口中。或者在代码窗口中,直接键入SQL-SELECT命令。查询是使用SQL-SELECT语句从数据库中查看信息,查询是根据需要以只读的方式从数据库中提取数据。SQL-SELECT命令是目前用于检索数据最强有力的语句。格式:SELECTALL|DISTINCTTOP PERCENT别名AS ,AS FROMINNER|LEFTOUTER|RIGHTOUTER|FULLOUTERJOIN ON

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号