ImageVerifierCode 换一换
格式:PPT , 页数:78 ,大小:1.51MB ,
资源ID:13362147      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/13362147.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(VFP第九章.ppt)为本站上传会员【pc****0】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

VFP第九章.ppt

1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第九章 视图与查询操作,9.1,用查询向导设计查询,9.2,用查询设计器设计查询,9.3,创建视图,9.4,数据库视图的操作,小 结,返回,退出,9.1,用查询向导设计查询,9.1.1,设计单表查询,9.1.2,建立交叉表,返 回,退 出,9.1.1,设计单表查询,查询向导可以引导用户快速设计一个查询。下面将示例使用查询向导设计一个简单的单表查询:从,GXGLXT,数据库的,Student,表中查询系部代号为“,04”,且是,98,级的所有学生的信息。,操作过程如下:首先从“项目管理器”开始,选择,【,数据

2、卡片中的“查询”,然后单击,【,新建,】,按钮,则出现设计查询的方式选择对话框。,单击,选择,GXGLXT,数据库中的,Student,表,并将该表中的所有字段添加到“选定字段”列表框中。,单击,查询向导,字段选取,从中选择,Student.,系部代号,0,在此输入值,4,取,默认值,从中选择“包含”,在此输入值,9,8,单击,单击,【,预览,】,按钮可以显示查询结果。根据要求,设置条件如上图。其中,虽然表中没有年级字段,但可通过“学号”得到年级(学号的前二位为年级)。,查询向导,筛选记录,选择排序字段,单击,【,添加,】,选择排序方式,调整排序顺序,移动按钮,单击,查询向导,记录排序,

3、查询向导,限制记录,限制查询结果中所包含的记录数,说明:查询结果中所包含的记录数限制共有四种方式:,1,、“部分类型”中选择“所占记录百分比”,“数量”中选择“所有记录”,查询结果集中包含全部记录。,2,、“部分类型”中选择“所占记录百分比”,“数量”中选择“部分值”,再在“微调框”中设置数值,查询结果集中包含指定数值百分数的记录。,3,、,“部分类型”中选择“记录号”,“数量”中选择“所有记录”,查询结果集中包含全部记录。,4,、“部分类型”中选择“记录号”,“数量”中选择“部分值”,再在“微调框”中设置数值,查询结果集中包含指定数值的记录数。,单击,取,默认值,查询结果集中包含全部记录,查

4、询向导,完成,将查询以文件的形式(,.QPR,),保存到一个指定的目录中。,将查询保存到一个指定的目录中并运行该文件。,利用查询向导设计的查询功能有限,可以使用查询设计器修改它。,单击,可以查看查询结果集中的全部数据,打开帮助文件,取消所建立的查询,返回到向导的上一步,结束向导,完成查询设计。,单击,保存设计的查询,目录选择下拉列表框,文件名输入文本框,文件类型选择下位列表框,在“文件名输入文本框”中输入“,Stud_query”,后,单击,【,保存,】,按钮,结束查询设计过程。,在,项目管理器中的“数据”选项中的查询项下产生了一个查询文件,返回,9.1.2,建立交叉表,如果在上文所述的建立查

5、询的第一步选择“交叉表向导”,则可以建立交叉表。下面通过示例来介绍如何建立交叉表。用,Grade,表中的数据建立一个交叉表,以显示每个学生所有课程的总成绩。,Grade,表中的部分数据如:,前面的设计过程同以上内容,但是在第二步需要确定交叉表的行和列。,交叉表设计向导,字段选取,选择数据库和表,选定字段,单击,单个字段选定按钮,全部字段选定按钮,单个字段撤消按钮,说明:在这一步先在“数据库和表”中选择一个数据库,再选择用以建立交叉表的数据表,然后再从可用字段列表框中选择要用的字段,交叉表只用三个字段,这一步可多选 字段。,全部字段撤消按钮,单击,交叉表向导,定义布局,说明:,(,1,)行,将要

6、加入到交叉表中的第一个字段名,本示例中选择字段“学号”;,(,2,)列,将要加入到交叉表中的从第二个字段开始的若干个字段的字段名,注意这些从源表中选择的数据不能超过,254,个。本示例中选择字段“课程代号”;,(,3,)数据,对应行和列的运算结果,本示例中选择“课程成绩”。,按提示操作:从可用字段列表框中将“学号”字段拖入“行”框,将“课程代号”拖入“列”框,将“课程成绩”拖入“数据”框。,单击,交叉表查询向导,加入总结信息,说明:,这一步的操作,决定在生成的交叉表中要加入的一个字段的内容。,(,1,)求和:求出对应行和列的数据字段的和;,(,2,)计数:求出对应行和列的数据字段的数目;,(,

7、3,)平均值:求出对应行和列的数据字段的平均值;,(,4,)最大值:求出对应行和列的数据字段的最大值;,(,5,)最小值:求出对应行和列的数据字段的最小值。,本示例中选择“求和”运算。如果不想加入总结信息,可以在“分类汇总”中选择“无”。,单击,交叉表向导,完成,将交叉表查询以文件的形式(,.QPR,),保存到一个指定的目录中。,将交叉表查询保存到一个指定的目录中并运行该文件。,将交叉表查询保存到一个指定的目录中并打开“查询设计器”修改它。,对于值为空的记录是否以,.NULL.,填充,说明,:,系统默认值是“保存交叉表查询”和“显示,NULL,值”。,选择“保存并运行交叉表查询”后单击,交叉表

8、保存及运行结果,按上,一步,的操作完成后,进行到“另存为,”,对话框中,将该查询取名为,Grad_Query,,,然后保存在默认的目录中。,保存后,系统进入到数据查询过程,稍候系统将查询结果显示出来。如:,从中可以看到,凡是没有数据的栏,就被,.NULL.,值填充,且有许多数据丢失,。,交叉表可以用数据过滤处理,在下一节中介绍。,返回,9.2,用查询设计器设计查询,9.2.1,确定各表间的联接关系,退 出,9.2.2,选定查询字段,9.2.3,筛选记录,9.2.4,查询结果排序,9.2.5,建立分组查询,9.2.6,杂项的设置,9.2.7,定向输出查询结果,9.2.8,运行查询,返 回,前面学

9、习了如何使用,VFP6,中文版提供的查询向导快速的设计一个查询。但是在实际应用中,查询向导设计的查询往往不能满足需求。这时还可以采用查询设计器方便灵活的设计各种查询,也可以先用查询向导设计一个简单的查询,再在查询设计器中打开并修改它。,将上一节建立的,Grad_Query,交叉表查询,用,“,查询设计器,”,进行修改,使其包含尽可能少的空栏。,可以通过以下所提供的多种方法之一来打开查询设计器:,从“项目管理器”启动查询设计器,1,、在,“,项目管理器,”,中选择,“,数据,”,选项卡,再选取,“,查询,”,项,再单击,【,新建,】,,进入查询设计方式选择对话框后单击,【,新建查询,】,,,则启

10、动“查询设计器”,。,2,、在,“,项目管理器,”,中选择,“,数据,”,选项卡,从,“,查询,”,项中选择一个已存在的查询文件,再单击,【,修改,】,,也,启动“查询设计器”,。,从,【,文件,】,菜单启动查询设计器,选择系统菜单中的,【,文件,】|【,新建,】,命令,在“新建”对话框中选中“文件类型”下的“查询”单选项,再单击右边的,【,新建文件,】,按钮,也可启动“查询设计器”;,使用,CREATE QUERY,命令也可启动“查询设计器”,现采用新建方式启动“查询设计器”,查询设计器下半部分的窗口中有几个选项卡,其含义简介如下:,(,1,),“,字段,”,:用来选定包含在查询结果中的字段

11、2,),“,联接,”,:用来确定各数据表或视图之间的联接关系;,(,3,),“,筛选,”,:相当于命令,SET FILTER TO,,利用过滤的方法查,找一个特定的数据子集;,(,4,),“,排序依据,”,:用来决定查询结果输出中记录或行的排列顺,序;,(,5,),“,分组依据,”,:所谓分组就是将一组类似的记录压缩成一个,结果记录,这样就可以完成基于一组的计算。,返回,要设计一个查询文件,首先必须明确查询的目的是什么,即想要得到哪些数据,并以什么方式存在;或者想要得到满足某些条件的特定记录,或者想要知道某些记录的字段值组合成的表达式按某一方式输出。明确了输出的数据后,就可以开始设计查

12、询了,一般要通过以下几个步骤进行:,(,1,)启动查询设计器;,(,2,)选择出现在查询结果中的字段;,(,3,)设置选择条件来查找可给出所需结果的记录;,(,4,)设置排序或分组选项来组织查询结果;,(,5,)选择查询结果的输出类型:表、报表、浏览等;,(,8,)运行查询。,9.2.1,确定各表间的联接关系,下面将通过一个示例来介绍创建一个含有多个表中信息的查询。例如在,GXGLXT,数据库中有三个表:,Student,、,Grade,、,Courses,,,现在想知道学号前四位是,9904,和,9804,的所有学生考试的成绩。,当在多个表或视图间进行查询时,需要指出这些表或视图间的联接关系

13、如前面所述,启动查询设计器,在,“,添加表和视图,”,对话框中从,“,数据库,”,中选择,GXGLXT,库,在,“,数据库中的表,”,中选择,Student,表,单击,【,添加,】,按钮,再选择,Grade,表,再单击,【,添,加,】,,此时系统自动弹出一个,“,联接条件,”,,询问是否根据两表中都有的,“,学号,”,字段建立内部联接,单击,“,确定,”,,两表间就有了一条连线,代表它们之间的联接。然后再添加,Courses,表,最后关闭对话框。,在“查询设计器”中选择“联接”选项卡,如图:,在,VFP6,中表间的联接有四种类型,分别是:,(,1,),Inner Join:,内部联接,指定只

14、有满足联接条件的记录包含在结果中,此类型是默认的,也是最常用的;,(,2,),Right Outer Join,:,右联接,指定满足联接条件的记录,以及满足联接条件右侧的表中记录(即使不匹配联接条件)都包含在结果中;,(,3,),Left Outer Join:,左联接,指定满足联接条件的记录,以及满足联接条件左侧的表中记录(即使不匹配联接条件)都包含在结果中;,(,4,),Full Join,:,完全联接,指定所有满足和不满足联接条件的记录都包含在结果中。,如果想修改各表间的联接,双击查询设计器上部窗口表之间的连线,系统将弹出“连接条件”对话框;或者通过打开查询设计器下部的“联接”选项卡进行

15、一般不应随便更改连接条件,不然会与实际数据间的关系不符。,“条件”列表中包含如下几项:,(,1,),=,:指字段值与实例相等;,(,2,),LIKE,:,表示“字段名”栏中给出的字段值与“实例”栏中给出的文本值之间执行不完全匹配,它主要针对字符类型。例如,如设置查询条件为“,Student.,学号,LIKE 9904”,,,那么诸如“学号”字段前四位为,9904,的记录都满足该条件;,(,3,),=,:表示在“字段名”栏中给出的字段值与“实例”栏中给出的文本值之间执行完全匹配检查,它也主要是针对字符类型的。,(,4,),:即为“字段名”栏中给出的字段的值应大于“实例”栏中给出的值;,(,5,

16、即为“字段名”栏中给出的字段的值应大于或等于“实例”栏中给出的值;,(,8,),:即为“字段名”栏中给出的字段的值应小于“实例”栏中给出的值;,(,7,),=,:即为“字段名”栏中给出的字段的值应小于或等于“实例”栏中给出的值;,(,8,),Is Null,:,指定字段必须包含,Null,值;,(,9,),Between,:即为输出字段的值应大于或等于“实例”栏中的,最小值,而小于或等于“实例”栏中的最大值;,(,10,),IN,(,在,之中):即为输出字段的值必须是“实例”栏中所给出值中的一个,在“实例”栏中给出的各值之间以逗号分隔。,此外,“联接”选项卡中的“否”列用于指定,.N

17、OT.,条件,“逻辑”列用于设置各联接条件和筛选条件之间的逻辑关系(无、,.AND.,和,.OR.,),“,大小写”列用于指定是否区分大小写。下方的“插入”和“移去”按钮分别用于增加或移去查询条件。,最后,在设置筛选条件时,我们应注意如下几点:,(,1,)备注字段和通用字段不能用于设置查询条件;,(,2,)逻辑值的前后必须使用句点号,如,.T.,;,(,3,),只有当字符串与查询的表中字段名相同时,要用引号将字符串括起来,否则不需要用引号将字符串括起来;,(,4,)日期不必用花括号括起来。,返回,9.2.2,选定查询字段,根据建立查询的目的,选择查询结果中应包含的字段。操作方法与用向导设计查询

18、的方法相同。在本示例中先在“查询设计器”中选择“字段”选项卡,然后从可用字段列表框中选择:,Student.,学号、,Student.,姓名、,Courses.,课程代号、,Grade.,课程成绩,如图。,选择一个字段,单击,【,添加,】,选定的字段列表,重复操作添加,Student.,姓名、,Courses.,课程代号、,Grade.,课程成绩,返回,9.2.3,筛选记录,选择表中符合条件的一部分记录而不是全部记录是查询的重要任务。此例要求从所有学生的成绩信息中选出“学号”前四位为“,9904”,和“,9804”,的所有学生的成绩,可以利用查询设计器中的“筛选”选项卡。“筛选”选项卡可确定用

19、于选择记录的字段和比较准则,以及输入与该字段进行比较的实例值。,选择筛选字段,设置筛选条件,输入筛选实例,设置条件逻辑,是否区分大小写,在字段名下的下拉选择框中选择“,Grade.,开课学期”,在“条件”下的下拉选择框中选择“,=”,,在“实例”下的文本框中输入“第,1,学期”,,在“逻辑”下的下拉选择框中选择“,AND”,,,然后再在字段名下的下拉选择框中选择“,Student.,学号”,在“条件”下的下拉选择框中选择“,In”,,,在“实例”下的文本框中输入“,9904,9804”,(,请注意中间的“,”,是,En,状态下输入的,)。,9.2.4,查询结果排序,排序决定了查询输出结果中记录

20、或行的先后顺序,我们可以通过“排序依据”选项卡设置查询的排序次序,方法同在用查询向导设计查询介绍的一样,首先从“选定字段”框中选定要使用的字段,,返回,并把它们移到“排序条件”框中,然后利用“排序选项”(从中选择升序或降序)来设置排序条件。本例中设置,Student.,学号,升序为排序依据。,选择一个字段,单击,【,添加,】,选定的字段列表,如果还需要添加用于排序的字段,可以重复以上的操作步骤。,返回,9.2.5,建立分组查询,所谓分组就是将一组类似的记录压缩成一个结果记录,这样就可完成基于一组记录的计算。分组在与某些累计功能联合使用时效果最好,例如,SUM(),,,COUNT(),,,AVG

21、),等。,如果不想压缩结果记录,则不必设置它。在此例中不设分组查询。如果想求各门课程的平均成绩,可以用“课程代号”进行分类查询。,选择一个字段,单击,【,添加,】,选定的字段列表,操作步骤如下:,(,1,)在查询设计器的“字段”选项卡中,单击“函数和表达式”右边的按钮,出现“表达式”生成器;,(,2,)在“数学”下拉式列表框中双击,AVG,(,expN,),,在“来源于表”下拉框中选择,Grade,表,在“字段”列表框中双击“课程成绩”,单击,【,确定,】,。即在“函数和表达式”框中自动生成了“,AVG(Grade.,课程成绩,)”,这个表达式,用以计算,Grade,表中课程成绩的平均值。,

22、3,)单击“添加”按钮,该表达式被添加到“选定字段”列表框中。将来查询结果中就会有一列数据求平均值;,(,4,)单击“分组依据”选项卡,进入“分组依据”窗口,在“可用字段”中选择,Grade.,课程代号,再单击,【,添加,】,按钮,该字段即成为分组字段。,返回,9.2.6,杂项的设置,经过以上五个步骤,基本上已生成了一个比较全面的查询。接下来还可以通过查询设计器中的“杂项”选项卡做最后处理。,单击“杂项”选项卡,可以看到其间包括“无重复记录”、“交叉数据表”、“全部”、“百分比”这四个复选框和一个微调按钮。,选中“无重复记录”复选框表示对于查询结果如果存在重复记录,则只取相同记录中的一个。

23、选中此项,在查询生成器的,SQL,语句中会自动加上限定词,Distinct,,,表示去掉重复记录。,当输出的字段只有三项时,“交叉数据表”复选框为可选状态,否则为不可选状态。选中“交叉数据表”复选框表示将查询的结果以交叉表的形式传递给其它报表或表。三项查询字段分别表示,X,轴、,Y,轴和图形的单元值。,如,在本示例中,将前面已加入到“选定字段”中的,Student.,学号字段移去,并按,Student.,姓名、,Courses.,课程代号和,Grade.,课程成绩的顺序调整字段在“选定字段”列表框中的顺序,然后在“杂项”选项卡中选中“交叉数据表”,同时将“分组依据”中的“,Grade.,课程代

24、号”取消,其它设置不变。,从图中,可以看到“交叉数据表”成为了可选。现选中“交叉数据表”项,如上图:,设置,返回,9.2.7,定向输出查询结果,查询检索的信息,可以输出到不同的目的地,以用作不同的用途。如果没有选定输出的目的地,查询结果将显示在浏览窗口中。查询输出目的可以是浏览窗口、临时表、表、图形、屏幕、报表、标签等。选择结果的去向方法如下:,单击“查询设计器工具”中的,【,查询去向,】,按钮,或者从,【,查询,】,菜单中选择,【,查询去向,】,,可看到如图所示的“查询去向”对话框。,对话框中的按钮含义如下:,【,浏览,】,:在浏览窗口中显示查询结果,这是查询缺省设置;,【,临时表,】,:将

25、查询结果存储在一个临时只读表中。多次查询的结果可放在不同的表内。该表可用于浏览数据,制作报表等,直到用户关闭它们;,【,表,】,:将查询的结果保存在一个命名的表(,.DBF,),中,此时查询的结果是真正的存放到磁盘上的,多次查询的结果可放在不同的表内;,【,图形,】,:使查询结果可用于,Microsoft Graph,(,包含在,VFP6,中的一个独立的应用程序)中制作图表;,【,屏幕,】,:在,VFP6,主窗口或当前活动输出窗口中显示查询结果;,【,报表,】,:将输出送到一个报表文件(,.FRX,),中;,【,标签,】,:将输出送到一个标签文件(,.LBX,),中。,选定一个去向,按一定的步

26、骤设置一些属性,然后单击,【,确定,】,按钮,系统就将按意图放置查询结果。,假设本例将查询结果保存到临时表中,取临时表名为“查询,1”,。,返回,9.2.8,运行查询,在完成了查询的设计工作并指定了结果输出去向后,可通过以下五种方式之一运行查询:,在查询设计器区域内单击右键,在弹出菜单中选择“运行查询”;,在“项目管理器”中选定查询的名称,然后选定“运行”按钮;,在“查询”菜单中选择“运行查询”:,在命令窗口中键入,DO,查询名,.,qpr,。,单击系统常用菜单上的“运行”按钮。,本例中按前述步骤设置后,单击系统菜单上的“运行”按钮运行交叉表查询,并将查询结果保存到临时表“查询,1”,中,然后

27、再在浏览窗口中单击,【,显示,】|【,浏览“查询,1”】,,结果如右表。,返回,9.3,创建视图,创建本地视图,返回,退出,视图可以通过向导和设计器两种方法来创建。,1,、利用向导创建本地视图,用本地视图向导创建本地视图,可采取以下方式:,方式一,:,(,1,)在主窗口下打开,【,工具,】,菜单,选择,【,向导,】,菜单命令。,(,2,)再选择,【,全部,】,菜单,出现,【,向导选取,】,对话框,如图,单击滑动按钮,选择“本地视图向导”,单击,【,确定,】,进入到“本地视图向导步骤,1,字段选取”,方式二,:,(,1,)在主窗口下打开,【,文件,】,菜单,选择,【,新建,】,菜单命令。,(,2

28、选择“视图”,再单击,【,向导,】,,将弹出,【,本地视图向导,】,对话框。,(,3,)然后按照向导屏幕上的指示操作。,方式三,:,(,1,)在项目管理器中选定数据库。,(,2,)选定本地视图,单击,【,新建,】,按钮。,(,3,)单击,【,视图向导,】,按钮,(,4,)然后按照向导屏幕上的指示操作。,方式四,:,(,1,)打开数据库设计器,打开,【,数据库,】,菜单。,(,2,)选择,【,新建本地视图,】,,再单击,【,视图向导,】,按钮。,(,3,)然后按照向导屏幕上的指示操作。,本地视图向导:步骤,1,字段选取,说明:,按照上述几种方式,可以快速建立本地视图,但要强调的是,在项目管理

29、器中创建或使用视图时,项目管理器会自动打开数据库。如果要使用项目以外的表或视图,则必须先打开数据库或事先确认数据库在作用范围内,。,本地视图向导对话框如图,可以看到,创建视图大体要经过以下步骤:,(,1,)字段选取。选择数据库,数据库中的表和表中的字段。如果当前已经打开了一个数据库,则第一步的对话框中显示的,是创建当前数据库的视图,也可以选择其它的数据库。,(,2,)关联表。建立数据库中表与表之间的关系。,(,3,)包含记录。指定包含表中的全部记录还是仅匹配的记录。,(,4,)筛选记录。选定符合条件的记录。,(,5,)排序记录。为选定的记录按照某一字段进行排序。,(,6,)限定记录。定制显示一

30、定数量的记录。,(,7,)完成视图。选择保存视图后浏览还是修改。,例:创建包含,Grade,表和,Courses,表的本地视图“视图,1”,。,选择表,Grade,单击全部添加按钮,选择,Courses,表,单击单个添加按钮,添加课程名、学时数、学分数,字段选择完成后,单击,【,下一步,】,,步骤,2,为表建立关系。,本地视图向导:步骤,2,为表建立关系,父,表字段选择下拉选择框,子表字段选择下拉选择框,说明:在这一步要建立用来建立本地视图的表间的关系。,1,、先在父表字段选择下拉选择框中选择要用来建立关系的主关键字;,2,、再在子表字段选择下拉选择框中选择用来建立关系的子表关键字;,3,、单

31、击,【,添加,】,,将设定关系添加到关系列表框中。,上面的字段符合要求,单击,【,添加,】,关系设置完成后单击,【,下一步,】,进入到步骤,2a,字段选取对话框。,本地视图向导:步骤,2a,字段选取,生成的本地视图中只包含表中关系相匹配的记录,对应于关系中的内联接的设置结果。,生成的本地视图中包含,Grade,表中的全部记录和子表中关键字段相匹配的记录,对应于关系中的左联接的设置结果。,生成的本地视图中包含,Courses,表中全部记录和父表中关键字段相匹配的记录,对应于关系中的右联接的设置结果。,生成的本地视图中包含表中所有的记录,对应于关系中的完全联接的设置结果。,本,例,中选用默认值:仅

32、包含匹配的行。然后单击,【,下一步,】,,进入步骤,3,筛选记录。,本地视图向导:步骤,3,筛选记录,说明:,本地视图向导的筛选记录与查询向导的筛选记录的方式类似。,在本例中不筛选记录。,单击,【,下一步,】,,进入到本地视图向导的步骤,4,排序记录。,本地视图向导:步骤,4,排序记录,说明:,在这一步中设置在本地视图的记录顺序。,本例中可先按“学号”排序,学号相同的再按“课程代号”排序。,操作方法与建立查询的记录排序方法相同。先在“可用字段”列表框中选择,“学号”,然后单击,【,添加,】,,再选择“课程代号”,再单击,【,添加,】,如上图。,排序字段及顺序设置后单击,【,下一步,】,,进入本

33、地视图向导:步骤,4a,限制记录。,本地视图向导:步骤,4a,限制记录,限制记录的方法与建立查询的限制记录的方法完全相同。在本例中仍保持在本地视图中包含所有的记录,因而取默认值,直接单击,【,下一步,】,,进入本地视图向导:步骤,5,完成。,在第,5,步中的操作方法也与建立查询的方法相同,现选择“保存本地视图并浏览”,然后单击,【,完成,】,。弹出“视图名”对话框。,在“视图名”文本框中输入“视图,1”,。,输入视图名后单击,【,确认,】,按钮,系统显示所建立的本地视图的结果。本地视图向导结束。,2,、利用视图设计器创建本地视图,通过本地视图向导建立数据库视图虽然方便,快捷,但这仅对入门者如此

34、何况用视图向导建立数据库视图最终还要依赖视图设计器。因此,倾向独立进行开发的程序员来说,仅仅学会使用向导是远远不够的,还应学会使用视,图设计器的强大功能来创建视图。,(,1,),进入视图设计器,进入视图设计器的方法与进入查询设计器的方法基本相同,下面以新建视图的方式进入视图设计器。,启动视图设计器方法,新建一个视图可按以下步骤进入视图设计器:,选择,【,文件,】|【,新建,】,命令,单击“视图”单选框,再单击,【,新建文件,】,按钮。,在数据库设计器中,选择,【,数据库,】|【,新建本地视图,】,或单击数据库设计器的快捷菜单中的,【,新建本地视图,】|【,新视图,】,按钮。,在项目管理器中,

35、单击“数据”选项卡,在列表框中选定“本地视图”,再单击,【,新建,】,按钮,单击,【,新建视图,】,按钮。,修改一个视图可按以下步骤进入视图设计器:,在数据库设计器窗口中,单击选定需要修改的视图,选择,【,数据库,】|【,修改,】,命令。,在数据库设计器窗口中,右击需要修改的视图,在出现的快捷菜单中选择,【,修改,】,命令。,在项目管理器中,单击,【,数据,】,选项卡,在列表框中选定需要修改的视图,单击,【,修改,】,按钮。,“视图设计器”工具栏说明,添加表,移去表,添加联接,显示,SQL,窗口,最大化上部窗格,添加表:,显示“添加表或视图”对话框,从而可以向设计器窗口添加一个表或视图,移去表

36、从设计器窗口的上窗格中移去选定的表。,添加联接:,在视图中的两个表之间创建联接条件,显示,/,隐藏,SQL,窗口:,显示或隐藏建立当前视图的,SQL,语句,最大化,/,最小化上部窗口:,放大或缩小视图设计器的上窗格,(,2,)从表中选择所需字段,在进行本地视图设计器之前,先建立,Classzc,表和,Department,表,表结构和数据如下:,通过上述方式之一打开视图设计器,在进入设计器之前,需要选定数据库和表,现选定,GXGLXT,数据库,,,如右图:,从中选定表,Classzc,并单击,【,添加,】,按钮,然后单击,【,关闭,】,按钮,启动视图设计器。,视图设计器,进入视图设计器后,

37、第一步先需要选定字段,选定字段可直接通过字段选项卡进行。其操作方法与查询设计器中选择字段的方法相同。,从“可用字段”列表框里选定,Classzc,.,班级简称字段,单击,【,添加,】,按钮或双击该字段,则,Classzc,.,班级简称字段将会出现在右边的“选定字段”列表框中。本次建立的视图里,还需要选定,Classzc,.,学习性质、,Classzc,.,学制二个字段。它们选定的方法与选定,Classzc,.,班级简称字段一样。如果需选定字段是“可用字段”列表框中的所有字段,可以单击,【,全部添加,】,按钮,这样就把所有字段添加到了“选定字段”列表框中去了,可以通过,【,移去,】,按钮将其移出

38、来。如果需要全部移出,可以利用,【,全部移去,】,按钮快速移出。,要将表中的字段添加到“选定字段”列表框中,除了上述方法外,还可以将鼠标指向视图设计器上部窗口中的表窗口中的字段上,按住鼠标左键或右键拖动一个字段到“选定字段”列表框,该字段就被加入到了“选定字段”列表框中。还可以通过双击字段名将其加入到“选定字段”列表框。表窗口中的,代表表中的全部字段,它也是可以拖动或双击的。若要从“选定字段”列表框中移去字段,也可以使用鼠标拖动或双击。,“字段”选项卡还有一个,【,属性,】,按钮和一个“函数和表达式”文本框。只要“选定字段”列表框中有一个值,,【,属性,】,命令按钮就成为可选的了。选择,【,属

39、性,】,后,出现图:,属性,设置可分为五种类型:字段有效性、显示、匹配字段到类、数据匹配和注释。,“,函数和表达式,”文本框及其按钮:,“函数和表达式”文本框用于输入一个函数和表达式,具体操作只需单击“函数和表达式”文本框后的对话按钮,在随后出现的表达式生成器中书写函数或表达式。此选项的功能是为了生成一个虚拟的字段。,后面的创建步骤与本章前述的用查询设计器设计查询相似,在此不一一阐述。,(,3,)建立多表关联,前面主要是针对单一的本地表建立视图,虽然很容易,但它的实际功能不大。因为在实际开发中,系统的数据库很复杂,表的关联性很强,用户关心的往往是一些复杂的数据,因此需要建立多表视图。,从定义上

40、讲,多表视图指的是:视图中的字段来源于两个或两个以上的表。但是,在视图中表间的关系既不像数据库中的关系是永久的,也不像表中的关系是暂时的,它不靠索引字段进行联接,而是通过定义一个联接表达式来进行联接,表间的关系是松散的。,可以按如下办法建立表间的联接:,在视图设计器中单击“联接”选项卡即可设置多表间的关联。,在“添加表或视图”对话框中,选定表后,单击,【,添加,】,按钮,当视图设计器中的表在两个及以上时,视图设计器就会为选定的表建立关联。,说明:,用以上的方法建立多表关联,必须有多个表添加到了视图设计器中,。后续的操作方法与设计多表查询相似,除不同点外,相同的部分这里不再讲述。,下面我们来建立

41、表,Department,、,Classzc,、,Student,、,Courses,和,Grade,五表之间的关联的视图,,起名为视图,3,。,(,4,)与设计多表查询不相同的部分,更新条件,视图的最大特点在于能用视图更新数据,这也是建立视图与建立查询的主要区别,也是视图的重点所在。视图设计器中的“更新条件”选项卡可以用来设置允许视图更新表字段的条件。,“更新条件”选项卡选项包括如下内容:,“表”:指定视图所使用的哪些表可以修改。选择这个下拉列表框中的选项,可以确定哪些表中的字段可以在“字段名”列表框中,以便设置更新条件。此列表中所显示的表都包含了“字段”选项卡“选定字段”列表中的字段。,【

42、重置关键字,】,:这个按钮作用是从每个表中选择主关键字字段作为视图的关键字字段。每个主关键字字段是在“字段名”列表中的、在钥匙符号下面打一个对钩的字段,关键字字段可,用来使视图中的修改与表中的原始记录相匹配。,【,全部更新,】,:可以从字段名文本框中看到一些字段前的铅笔符号下打了一个对钩,这表明这些字段可以更新。在这个按钮中可以选择除了关键字字段以外的所有字段来进行更新,并在“字段名”列表的铅笔符号下打一个对钩。,“发送,SQL,更新”:指定是否将视图记录中的修改传送给原始表。如果选择了这个复选框,将把在视图中对记录字段的修改返回到源表中。,“字段名”列表框:显示了从“表”列表框中所选的表中

43、的字段、并用来输出这些字段,不过这些字段都是可以更新的。在字段文本框中共有下列,3,种方式字段:,关键字段(使用钥匙符号作标记),指定该字段是否为关键字段。,可更新字段(使用铅笔符号作标记),指定该字段是否为可更新字段。,字段名,显示可标志为关键字字段或可更新字段的输出字段名。,“,SQL WHERE,子句包括”:,“关键字段”:如果在原始表中有一个关键字字段被改变,设置,WHERE,子句来检测冲突,对于由另一用户对表中原始记录的其他字段所做修改不进行比较。,“关键字和可更新字段”:设置,WHERE,子句来检测由某一用户修改了任何可更新的字段的冲突。,“关键字和已修改字段”:如果从视图首次检索

44、默认)以后,关键字字段或原始表记录的已修改字段中,某个字段做过修改,设置,WHERE,子句来检测冲突。,“关键字段和时间戳”:如果自原始表记录的时间戳首次检索以后,它被修改过,设置,WHERE,子句来检测冲突。只有当远程表有时间戳列时,此选项才有效。,“使用更新”:此单选按钮组用于指定字段如何在后端服务器上进行更新。,“,SQL DELETE,然后,INSERT”,:,指定先删除原始表记录后,再创建一个新的在视图中被修改的记录。,“,SQL UPDATE”,:,指定用视图字段中的内容来修改原始表中的字段。,返回,9.4,数据库视图的操作,9.4.1,使用视图,退 出,9.4.2,显示视图结构

45、9.4.3,重新命名视图,9.4.4,删除视图,9.4.5,创建视图索引,9.4.6,创建参数化视图,返 回,9.4.7,利用视图更新数据,9.4.1,使用视图,建立视图后,不但可以用它来显示和更新数据,而且还可以通过调整它的属性来提高性能。处理视图类似处理表,可以:,使用,USE,命令并指定视图名来打开一个视图。,使用,USE,命令关闭视图。,在,【,浏览,】,窗口中显示视图。,在,【,查看,】,窗口中显示已打开的视图的别名。,将视图作为数据源,供表单或表格控件使用。,若要使用一个视图,可采取如下方法:,在项目管理器中先选择一个数据库,再选择视图名,然后单击,【,浏览,】,按钮,在,【,浏

46、览,】,窗口中显示视图。,使用编程的方式访问视图。,下面的代码在,【,浏览,】,窗口中显示存放在,c:gxglxt,目录下,gxglxt,数据库中的视图,1,:,open database,c:gxglxtgxglxt,use,视图,1,browse,在使用一个视图时,视图将作为临时表在自己的工作区打开。如果此视图基于本地表,则,VFP6,会在另一个工作区同时打开基表。如果没有打开任何表,或先执行,Close All,命令后再执行以上命令,则视图,1,在工作区,1,打开,而其基表则在工作区,2,打开。要查看基表,可以通过选择系统菜单上的,【,窗口,】|【,数据工作期,】,打开“数据工作期”窗口

47、但有一个例外,如果视图是基于远程表,则基表将不在工作区中打开。而只在,【,查看,】,窗口中显示远程视图的名称。,返回,有时用户只想了解视图的结构,而不关心视图中的数据。这样可以使用带,NODATA,子句的,USE,命令来快速显示视图的结构。例如:,open database,c:gxglxtgxglxt,use,视图,1,nodata,in 0,Select,视图,1,browse,通过运行上面的命令语句,将在,【,浏览,】,窗口中看到没有记录的视图,1,。因为使用,NODATA,子句时,,VFP6,为视图,1,创建一个永远返回,.F.,值的,WHERE,子句,而数据源上没有记录匹配,WHE

48、RE,子句的条件,所以没有记录被选择。,9.4.2,显示视图结构,返回,9.4.3,重新命名视图,建立一个视图以后,还可以为其重新命名视图,进行视图的重新命名,可以使用项目管理器或用,RENAME VIEW,命令。,在项目管理器中先选择一数据库,再右击要重新命名的视图。单击,【,重命名,】,按钮,出现一对话框后即可为视图输入新的名称。,使用,RENAME VIEW,命令。,例如,下面的代码将视图,2,重新命名为视图,1,:,rename view,视图,1,to,视图,2,说明:,在重新命名视图之前,必须打开包含要命名视图的数据库,。,返回,视图同表一样也是可以删除的,删除视图可以使用项目管理

49、器或使用,DELETE VIEW,命令。,在项目管理器中选择一个数据库,再选择要删除的视,图,然后用鼠标右击,单击,【,移去,】,按钮,即可删除所选 的视图。,使用,DELETE VIEW,命令。,例如,如果要删除数据库,xsglxt,中的视图,2,,可以键入以下的命令语句:,delete view,视图,2,说明:在删除视图之前,必须打开包含要删除视图的数据库并设置其为当前数据库。,9.4.4,删除视图,9.4.5,创建视图索引,同为表建立索引一样,也可以为视图建立索引。但与表不同的是,在视图上创建的本地索引不能永久保存,它们随着视图的关闭而消失。为视图建立本地索引,,可以使用,INDEX

50、 ON,命令。关于该命令的参数,在创建表的索引时已有介绍。,另有一点需要注意的是,在决定是否在视图上建立索引时,要考虑视图结果集合的大小。对于一个大的结果集合来说,索引要花费很长的时间,并可能降低视图的性能。因此,要根据实际情况处理。,返回,9.4.6,创建参数化视图,VFP,可以创建具有提示输入值来查询信息的视图,称为参数化视图,这样的视图具有更大的灵活性和更强的适应性。可避免每取一部分记录值就要建立视图的情况。,可用以下方法创建参数化视图:,(,1,)打开视图设计器,从,【,查询,】,菜单中选择,【,视图参数,】,命令,此时系统弹出视图参数对话框,如图,(,2,)在视图参数对话框中输入参数

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服