VFP查询与视图.ppt
《VFP查询与视图.ppt》由会员分享,可在线阅读,更多相关《VFP查询与视图.ppt(107页珍藏版)》请在咨信网上搜索。
1、主讲:杜春敏主讲:杜春敏学习要点学习要点1、查询向导和查询设计器的使用方法;2、单表查询和交叉表查询;3、查询设计器中各选项卡的功能和使用方法;4、本地视图和远程视图;5、视图向导和视图设计器的使用方法;6、使用视图。查询与视图查询与视图 第第3章章 查询与视图查询与视图 3.2 用查询向导设计查询用查询向导设计查询 3.3 用查询设计器设计查询用查询设计器设计查询 3.4 创建视图创建视图 3.5数据库视图的操作数据库视图的操作 小小 结结 返回返回退出退出3.6利用视图更新数据利用视图更新数据 3.7利用视图处理自由数据利用视图处理自由数据 3.2 用查询向导设计查询用查询向导设计查询3.
2、2.1 设计单表查询设计单表查询 3.2.2 建立交叉表建立交叉表 返返 回回退退 出出3.2.1设计单表查询 查询向导可以引导用户快速设计一个查询。下面将示例使用查询向导设计一个简单查询向导可以引导用户快速设计一个查询。下面将示例使用查询向导设计一个简单的单表查询:从的单表查询:从XGGL数据库的数据库的Student表中查询系部代号为表中查询系部代号为“04”且是且是99级的所有级的所有学生的信息。学生的信息。操作过程如下:首先从操作过程如下:首先从“文件文件”开始,选择开始,选择【新建新建】-“查询查询”,然后单击,然后单击【向导向导】按钮,则出现设计查询的方式选择对话框。按钮,则出现设
3、计查询的方式选择对话框。单击 选择选择XGGL数据库中的数据库中的Student表,表,并将该表中的并将该表中的所有字段添加所有字段添加到到“选定字段选定字段”列表框中。列表框中。单击查询向导查询向导字段选取字段选取从中选择Student.系部代号0在此输入值4取默认值从中选择“包含”在此输入值98单击单击单击【预览预览】按钮可以显示查询结果。根据要求,设置条件如上图。其中,按钮可以显示查询结果。根据要求,设置条件如上图。其中,虽然表中没有年级字段,但可通过虽然表中没有年级字段,但可通过“学号学号”得到年级(学号的前二位为年级)得到年级(学号的前二位为年级)。查询向导查询向导筛选记录筛选记录选
4、择排序字段单击【添加】选择排序方式调整排序顺序移动按钮单击查询向导查询向导记录排序记录排序查询向导查询向导限制记录限制记录限制查询结果中所包含的记录数说明:查询结果中所包含说明:查询结果中所包含的记录数限制共有四种方的记录数限制共有四种方式:式:1、“部分类型部分类型”中选择中选择“所占记录百分比所占记录百分比”,“数量数量”中选择中选择“所有记录所有记录”,查询结果集中包含全,查询结果集中包含全部记录。部记录。2、“部分类型部分类型”中选择中选择“所占记录百分比所占记录百分比”,“数量数量”中选择中选择“部分值部分值”,再在,再在“微调框微调框”中设置中设置数值,查询结果集中包含数值,查询结
5、果集中包含指定数值百分数的记录。指定数值百分数的记录。3、“部分类型部分类型”中选择中选择“记录号记录号”,“数量数量”中选择中选择“所有记录所有记录”,查询,查询结果集中包含全部记录。结果集中包含全部记录。4、“部分类型部分类型”中选择中选择“记录号记录号”,“数量数量”中选择中选择“部分值部分值”,再在,再在“微调框微调框”中设置数值,查询结果集中包含指定数值的记录数。中设置数值,查询结果集中包含指定数值的记录数。单击取默认值,查询结果集中包含全部记录查询向导查询向导完成完成将查询以文将查询以文件的形式件的形式(.QPR)保)保存到一个指存到一个指定的目录中。定的目录中。将查询保存到一将查
6、询保存到一个指定的目录中个指定的目录中并运行该文件。并运行该文件。利用查询向导设计的查询功能有限,可以使用查询设计器修改它。利用查询向导设计的查询功能有限,可以使用查询设计器修改它。单击,可以查看查询结果集中的全部数据单击,可以查看查询结果集中的全部数据打开帮助文件帮助文件 取消所建立的查询取消所建立的查询 返回到向导的上一步返回到向导的上一步结束向导,结束向导,完成查询设完成查询设计。计。单击保存设计的查询保存设计的查询目录选择下拉列表框文件名输入文本框文件类型选择下位列表框在在“文件名输入文本框文件名输入文本框”中中输入输入“Stud_query”后,单后,单击击【保存保存】按钮,结束查询
7、按钮,结束查询设计过程。设计过程。在项目管理器中的“数据”选项中的查询项下产生了一个查询文件返回3.2.2 建立交叉表建立交叉表 如果在上文所述的建立查询如果在上文所述的建立查询的第一步选择的第一步选择“交叉表向导交叉表向导”,则可以建立交叉表。下面通过示则可以建立交叉表。下面通过示例来介绍如何建立交叉表。用例来介绍如何建立交叉表。用Grade表中的数据建立一个交叉表中的数据建立一个交叉表,以显示每个学生所有课程的表,以显示每个学生所有课程的总成绩。总成绩。Grade表中的部分数表中的部分数据如:据如:前面的设计过程同以上内容,前面的设计过程同以上内容,但是在第二步需要确定交叉表的但是在第二步
8、需要确定交叉表的行和列行和列。交叉表设计向导交叉表设计向导字段选取字段选取选择数据库和表选定字段单击单个字段选定按钮全部字段选定按钮 单个字段撤消按钮说明:在这说明:在这一步先在一步先在“数据库和表数据库和表”一选择一一选择一个数据库,个数据库,再选择用以再选择用以建立交叉表建立交叉表的数据表,的数据表,然后再从可然后再从可用字段列表用字段列表框中选择要框中选择要用的字段,用的字段,交叉表只用交叉表只用三个字段,三个字段,这一步可多这一步可多选选 字段。字段。全部字段撤消按钮单击交叉表向导交叉表向导定义布局定义布局说明:说明:(1)行行,将将要要加加入入到到交交叉叉表表中中的的第第一一个个字字
9、段段名名,本本示示例例中中选选择择字段字段“学号学号”;(2)列列,将将要要加加入入到到交交叉叉表表中中的的从从第第二二个个字字段段开开始始的的若若干干个个字字段段的的字字段段名名,注注意意这这些些从从源源表表中中选选择择的的数数据据不不能能超超过过254个个。本本示示例例中中选选择择字字段段“课课程代号程代号”;(3)数据,对应行和)数据,对应行和列的运算结果,本示列的运算结果,本示例中选择例中选择“课程成绩课程成绩”。按提示操作:从可用字段列表框中将“学号”字段拖入“行”框,将“课程代号”拖入“列”框,将“课程成绩”拖入“数据”框。单击交叉表查询向导交叉表查询向导加入总结信息加入总结信息说
10、明:说明:这一步的操作,决这一步的操作,决定在生成的交叉表中要定在生成的交叉表中要加入的一个字段的内容。加入的一个字段的内容。(1)求和:求出对应行和列的数据字段的和;(2)计数:求出对应行和列的数据字段的数目;(3)平均值:求出对应行和列的数据字段的平均值;(4)最大值:求出对应行和列的数据字段的最大值;(5)最小值:求出对应行和列的数据字段的最小值。本示例中选择“求和”运算。如果不想加入总结信息,可以在“分类汇总”中选择“无”。单击交叉表向导交叉表向导完成完成将交叉表查询以文件的形式(.QPR)保存到一个指定的目录中。将交叉表查询保存到一个指定的目录中并运行该文件。将交叉表查询保存到一个指
11、定的目录中并打开“查询设计器”修改它。对于值为空的记录是否以.NULL.填充说明:系统默认值是“保存交叉表查询”和“显示NULL值”。选择“保存并运行交叉表查询”后单击交叉表保存及运行结果交叉表保存及运行结果 按上一步的操作完成后,进行到按上一步的操作完成后,进行到“另存为另存为”对话框中,将该查询取名为对话框中,将该查询取名为Grad_Query,然后保存在默认的目录中。,然后保存在默认的目录中。保存后,系统进入到数据查询过程,稍候系统将查询结果显示出来。如:保存后,系统进入到数据查询过程,稍候系统将查询结果显示出来。如:从中可以看到,凡是没有数据的栏,就被从中可以看到,凡是没有数据的栏,就
12、被.NULL.NULL.值填充值填充,且有许多数据丢失。且有许多数据丢失。交叉表可以用数据过滤处理,在下一节中介绍。交叉表可以用数据过滤处理,在下一节中介绍。返回3.3 用查询设计器设计查询用查询设计器设计查询 3.3.1 确定各表间的联接关系确定各表间的联接关系 退退 出出3.3.2 选定查询字段选定查询字段 3.3.3 筛选记录筛选记录 3.3.4查询结果排序查询结果排序 3.3.5 建立分组查询建立分组查询 3.3.6 杂项的设置杂项的设置 3.3.7 定向输出查询结果定向输出查询结果 3.3.8 运行查询运行查询 返返 回回3.3 用查询设计器设计查询用查询设计器设计查询 在实际应用中
13、,查询向导设计的查询往往不能满足需求。这时还可以采用查询设在实际应用中,查询向导设计的查询往往不能满足需求。这时还可以采用查询设计器方便灵活的设计各种查询,也可以先用查询向导设计一个简单的查询,再打开并计器方便灵活的设计各种查询,也可以先用查询向导设计一个简单的查询,再打开并修改它。修改它。将上一节建立的将上一节建立的Grad_QueryGrad_Query交叉表查询,用交叉表查询,用“查询设计器查询设计器”进行修改,使用之包含进行修改,使用之包含尽可能少的空栏。尽可能少的空栏。可以通过以下所提供的多种方法之一来打开查询设计器:可以通过以下所提供的多种方法之一来打开查询设计器:从从“项目管理器
14、项目管理器”启动查询设计器启动查询设计器 1 1、在、在“项目管理器项目管理器”中选择中选择“数据数据”选项卡,再选取选项卡,再选取“查询查询”项,再单击项,再单击【新建新建】,进入查询设计方式选择对话框后单击,进入查询设计方式选择对话框后单击【新建查询新建查询】,则启动则启动“查询设计器查询设计器”。2 2、在、在“项目管理器项目管理器”中选择中选择“数据数据”选项卡,从选项卡,从“查询查询”项中选择一个已存在的项中选择一个已存在的查询文件,再单击查询文件,再单击【修改修改】,也,也启动启动“查询设计器查询设计器”。从从【文件文件】菜单启动查询设计器菜单启动查询设计器选择系统菜单中的选择系统
15、菜单中的【文件文件】|【新建新建】命令,在命令,在“新建新建”对话框中选中对话框中选中“文件类型文件类型”下下的的“查询查询”单选项,再单击右边的单选项,再单击右边的【新建文件新建文件】按钮,也可启动按钮,也可启动“查询设计器查询设计器”;使用使用CREATE QUERY命令命令也可启动也可启动“查询设计器查询设计器”查询设计器下部分的窗口中有几个选项卡,其含义简介如下:查询设计器下部分的窗口中有几个选项卡,其含义简介如下:(1 1)“字段字段”:用来选定包含在查询结果中的字段;:用来选定包含在查询结果中的字段;(2 2)“排序依据排序依据”:用来决定查询结果输出中记录或行的排列顺序;:用来决
16、定查询结果输出中记录或行的排列顺序;(3 3)“联接联接”:用来确定各数据表或视图之间的联接关系;:用来确定各数据表或视图之间的联接关系;(4 4)“筛选筛选”:相当于命令:相当于命令SET FILTER TOSET FILTER TO,利用过滤的方法查找一个特定的数,利用过滤的方法查找一个特定的数据子集;据子集;(5 5)“分组依据分组依据”:所谓分组就是将一组类似的记录压缩成一个结果记录,这:所谓分组就是将一组类似的记录压缩成一个结果记录,这样就可以完成基于一组的计算。样就可以完成基于一组的计算。返回查询设计器窗口查询设计器窗口查询文件设计与创建步骤查询文件设计与创建步骤 要设计一个查询文
17、件,首先必须明确查询的目的是要设计一个查询文件,首先必须明确查询的目的是什么,即想要得到哪些数据,并以什么方式存在;或者想什么,即想要得到哪些数据,并以什么方式存在;或者想要得到满足某些条件的特定记录,或者想要知道某些记录要得到满足某些条件的特定记录,或者想要知道某些记录的字段值组合成的表达式按某一方式输出。明确了输出的的字段值组合成的表达式按某一方式输出。明确了输出的数据后,就可以开始设计查询了,一般要通过以下几个步数据后,就可以开始设计查询了,一般要通过以下几个步骤进行:骤进行:(1 1)启动查询设计器;)启动查询设计器;(2 2)选择出现在查询结果中的字段;)选择出现在查询结果中的字段;
18、(3 3)设置选择条件来查找可给出所需结果的记录;)设置选择条件来查找可给出所需结果的记录;(4 4)设置排序或分组选项来组织查询结果;)设置排序或分组选项来组织查询结果;(5 5)选择查询结果的输出类型:表、报表、浏览等;)选择查询结果的输出类型:表、报表、浏览等;(6 6)运行查询。)运行查询。3.3.1 确定各表间的联接关系确定各表间的联接关系 示例示例:创建一个含有多个表中信息的查询。在:创建一个含有多个表中信息的查询。在XGGLXGGL数据库中有三个表:数据库中有三个表:StudentStudent、GradeGrade、CoursesCourses,现在想知道学号前四位是,现在想知
19、道学号前四位是99049904和和98049804的所有学生考试的成绩。的所有学生考试的成绩。当在多个表或视图间进行查询时,需要指出这些表或视图间的联接关系。当在多个表或视图间进行查询时,需要指出这些表或视图间的联接关系。操作方法如下:操作方法如下:启动查询设计器,在启动查询设计器,在“添加表和视图添加表和视图”对话框中从对话框中从“数据库数据库”中选择中选择GXGLXTGXGLXT库,库,在在“数据库中的表数据库中的表”中选择中选择StudentStudent表,单击表,单击【添加添加】按钮,再选择按钮,再选择GradeGrade表,表,再单击再单击【添加添加】,此时系统自动弹出一个此时系统
20、自动弹出一个“联接条件联接条件”,询问,询问是否根据两表中都有的是否根据两表中都有的“学号学号”字段建立内部联字段建立内部联接,单击接,单击“确定确定”,两表间就有了一条连线,代,两表间就有了一条连线,代表它们之间的联接。然后再添加表它们之间的联接。然后再添加CoursesCourses表,最后表,最后关闭对话框。关闭对话框。在“查询设计器”中选择“联接”选项卡,如图:(1)InnerJoin:内部联接,指定只有满足联接条件的记录包含在结果中,此类型是默认的,也是最常用的;(2)RightOuterJoin:右联接,指定满足联接条件的记录,以及满足联接条件右侧的表中记录(即使不匹配联接条件)都
21、包含在结果中;(3)LeftOuterJoin:左联接,指定满足联接条件的记录,以及满足联接条件左侧的表中记录(即使不匹配联接条件)都包含在结果中;(4)FullJoin:完全联接,指定所有满足和不满足联接条件的记录都包含在结果中。如果想修改各表间的联接,双击查询设计器上部窗口表之间的连线,系统将弹出“连接条件”对话框;或者通过打开查询设计器下部的“联接”选项卡进行。一般不应随便更改连接条件,不然会与实际数据间的关系不符。在VFP6中表间的联接有四种类型,分别是:“条件”列表中包含如下几项:(1)=:指字段值与实例相等;(2)LIKE:表示“字段名”栏中给出的字段值与“实例”栏中给出的文本值之
22、间执行不完全匹配,它主要针对字符类型。例如,如设置查询条件为“Student.学号LIKE9904”,那么诸如“学号”字段前四位为9904的记录都满足该条件;(3)=:表示在“字段名”栏中给出的字段值与“实例”栏中给出的文本值之间执行完全匹配检查,它主要是针对字符型。(4):即为“字段名”栏中给出的字段的值应大于“实例”栏中给出的值;(5)=:即为“字段名”栏中给出的字段的值应大于或等于“实例”栏中给出的值;(6):即为“字段名”栏中给出的字段的值应小于“实例”栏中给出的值;(7)=:即为“字段名”栏中给出的字段的值应小于或等于“实例”栏中给出的值;(8)IsNull:指定字段必须包含Null
23、值;(9)Between:即为输出字段的值应大于或等于“实例”栏中的最小值,而小于或等于“实例”栏中的最大值;(10)IN(在之中):即为输出字段的值必须是“实例”栏中所给出值中的一个,在“实例”栏中给出的各值之间以逗号分隔。此外,“联接”选项卡中的“否”列用于指定.NOT.条件,“逻辑”列用于设置各联接条件和筛选条件之间的逻辑关系(无、.AND.和.OR.),“大小写”列用于指定是否区分大小写。下方的“插入”和“移去”按钮分别用于增加或移去查询条件。返回在设置筛选条件时,我们应注意如下几点:(1)备注字段和通用字段不能用于设置查询条件;(2)逻辑值的前后必须使用句点号,如.T.;(3)只有当
24、字符串与查询的表中字段名相同时,要用引号将字符串括起来,否则不需要用引号将字符串括起来;(4)日期不必用花括号括起来。3.3.2 选定查询字段选定查询字段根据建立查询的目的,选择查询结果中应包含的字段。操作方法与用向导设计查询的方法相同。在本示例中先在“查询设计器”中选择“字段”选项卡,然后从可用字段列表框中选择:Student.学号、Student.姓名、Courses.课程名称、Grade.课程成绩,如图。选择一个字段单击【添加】选定的字段列表重复操作添加Student.姓名、Courses.课程名称、Grade.课程成绩返回3.3.3 筛选记录筛选记录选择表中符合条件的一部分记录而不是全
25、部记录是查询的重要任务。此例要求从所有学生的成绩信息中选出“学号”前四位为“9904”和“9804”的所有学生的成绩,可以利用查询设计器中的“筛选”选项卡。“筛选”选项卡可确定用于选择记录的字段和比较准则,以及输入与该字段进行比较的示例值。选择筛选字段设置筛选条件 输入筛选实例设置条件逻辑是否区分大小写返回在字段名下的下拉选择框中选择“Grade.开课学期”,在“条件”下的下拉选择框中选择“=”,在“实例”下的文本框中输入“第1学期”,在“逻辑”下的下拉选择框中选择“AND”,然后再在字段名下的下拉选择框中选择“Student.学号”,在“条件”下的下拉选择框中选择“In”,在“实例”下的文本
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VFP 查询 视图
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。