分享
分销 收藏 举报 申诉 / 56
播放页_导航下方通栏广告

类型VFP课件——查询与视图.ppt

  • 上传人:pc****0
  • 文档编号:13360301
  • 上传时间:2026-03-07
  • 格式:PPT
  • 页数:56
  • 大小:1.10MB
  • 下载积分:10 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    VFP 课件 查询 视图
    资源描述:
    单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Visual FoxPro 6.0程序设计,*,学习要点,1,、查询向导和查询设计器的使用方法;,2,、单表查询,3,、查询设计器中各选项卡的功能和使用方法;,4,、本地视图和远程视图;,5,、视图向导和视图设计器的使用方法;,5,、使用视图。,查询与视图,3/7/2026,1,Visual FoxPro 6.0程序设计,查询与视图,用查询向导设计查询,用查询设计器设计查询,创建视图,数据库视图的操作,小 结,返回,退出,利用视图更新数据,3/7/2026,2,Visual FoxPro 6.0程序设计,用查询向导设计查询,设计单表查询,返 回,退 出,3/7/2026,3,Visual FoxPro 6.0程序设计,查询,查询:是从指定的表或视图中提取满足条件的记录,然后按照想得到的输出类型定向输出查询结果。,查询的结果是以扩展名,.QPR,的文件存在磁盘上,是一种文本形式的文件。,创建查询的方法:,菜单或工具栏,CREATE QUERY,3/7/2026,4,Visual FoxPro 6.0程序设计,设计单表查询,查询向导可以引导用户快速设计一个查询。下面将示例使用查询向导设计一个简单的单表查询:从,GXGLXT,数据库的,Student,表中查询系部代号为“,04”,且是,99,级的所有学生的信息。,操作过程如下:首先从“项目管理器”开始,选择,【,数据,】,卡片中的“查询”,然后单击,【,新建,】,按钮,则出现设计查询的方式选择对话框。,单击,3/7/2026,5,Visual FoxPro 6.0程序设计,选择,GXGLXT,数据库中的,Student,表,并将该表中的所有字段添加到“选定字段”列表框中。,单击,查询向导,字段选取,3/7/2026,6,Visual FoxPro 6.0程序设计,从中选择,Student.,系部代号,0,在此输入值,4,取,默认值,从中选择“包含”,在此输入值,9,8,单击,单击,【,预览,】,按钮可以显示查询结果。根据要求,设置条件如上图。其中,虽然表中没有年级字段,但可通过“学号”得到年级(学号的前二位为年级)。,查询向导,筛选记录,3/7/2026,7,Visual FoxPro 6.0程序设计,选择排序字段,单击,【,添加,】,选择排序方式,调整排序顺序,移动按钮,单击,查询向导,记录排序,3/7/2026,8,Visual FoxPro 6.0程序设计,查询向导,限制记录,限制查询结果中所包含的记录数,说明:查询结果中所包含的记录数限制共有四种方式:,1,、“部分类型”中选择“所占记录百分比”,“数量”中选择“所有记录”,查询结果集中包含全部记录。,2,、“部分类型”中选择“所占记录百分比”,“数量”中选择“部分值”,再在“微调框”中设置数值,查询结果集中包含指定数值百分数的记录。,3,、,“部分类型”中选择“记录号”,“数量”中选择“所有记录”,查询结果集中包含全部记录。,4,、“部分类型”中选择“记录号”,“数量”中选择“部分值”,再在“微调框”中设置数值,查询结果集中包含指定数值的记录数。,单击,取,默认值,查询结果集中包含全部记录,3/7/2026,9,Visual FoxPro 6.0程序设计,查询向导,完成,将查询以文件的形式(,.QPR,),保存到一个指定的目录中。,将查询保存到一个指定的目录中并运行该文件。,利用查询向导设计的查询功能有限,可以使用查询设计器修改它。,单击,可以查看查询结果集中的全部数据,打开帮助文件,取消所建立的查询,返回到向导的上一步,结束向导,完成查询设计。,单击,3/7/2026,10,Visual FoxPro 6.0程序设计,保存设计的查询,目录选择下拉列表框,文件名输入文本框,文件类型选择下位列表框,在“文件名输入文本框”中输入“,Stud_query”,后,单击,【,保存,】,按钮,结束查询设计过程。,在,项目管理器中的“数据”选项中的查询项下产生了一个查询文件,返回,3/7/2026,11,Visual FoxPro 6.0程序设计,用查询设计器设计查询,确定各表间的联接关系,退 出,选定查询字段,筛选记录,查询结果排序,建立分组查询,杂项的设置,定向输出查询结果,运行查询,返 回,3/7/2026,12,Visual FoxPro 6.0程序设计,用查询设计器设计查询,前面学习了如何使用,VFP,中文版提供的查询向导快速的设计一个查询。但是在实际应用中,查询向导设计的查询往往不能满足需求。这时还可以采用查询设计器方便灵活的设计各种查询,也可以先用查询向导设计一个简单的查询,再在查询向导中打开并修改它。,将上一节建立的查询,用“查询设计器”进行修改,使用之包含尽可能少的空栏。,可以通过以下所提供的多种方法之一来打开查询设计器:,从“项目管理器”启动查询设计器,1,、在“项目管理器”中选择“数据”选项卡,再选取“查询”项,再单击,【,新建,】,,进入查询设计方式选择对话框后单击,【,新建查询,】,,,则启动“查询设计器”,。,2,、在“项目管理器”中选择“数据”选项卡,从“查询”项中选择一个已存在的查询文件,再单击,【,修改,】,,也,启动“查询设计器”,。,3/7/2026,13,Visual FoxPro 6.0程序设计,从,【,文件,】,菜单启动查询设计器,选择系统菜单中的,【,文件,】|【,新建,】,命令,在“新建”对话框中选中“文件类型”下的“查询”单选项,再单击右边的,【,新建文件,】,按钮,也可启动“查询设计器”;,使用,CREATE QUERY,命令也可启动“查询设计器”,现采用新建方式启动“查询设计器”,3/7/2026,14,Visual FoxPro 6.0程序设计,查询设计器下部分的窗口中有几个选项卡,其含义简介如下:,(,1,)“字段”:用来选定包含在查询结果中的字段;,(,2,)“排序依据”:用来决定查询结果输出中记录或行的排列顺序;,(,3,)“联接”:用来确定各数据表或视图之间的联接关系;,(,4,)“筛选”:相当于命令,SET FILTER TO,,,利用过滤的方法查找一个特定的数据子集;,(,5,)“分组依据”:所谓分组就是将一组类似的记录压缩成一个结果记录,这样就可以完成基于一组的计算。,要设计一个查询文件,首先必须明确查询的目的是什么,即想要得到哪些数据,并以什么方式存在;或者想要得到满足某些条件的特定记录,或者想要知道某些记录的字段值组合成的表达式按某一方式输出。明确了输出的数据后,就可以开始设计查询了,一般要通过以下几个步骤进行:,(,1,)启动查询设计器;,(,2,)选择出现在查询结果中的字段;,(,3,)设置选择条件来查找可给出所需结果的记录;,(,4,)设置排序或分组选项来组织查询结果;,(,5,)选择查询结果的输出类型:表、报表、浏览等;,(,5,)运行查询。,返回,3/7/2026,15,Visual FoxPro 6.0程序设计,筛选记录,选择表中符合条件的一部分记录而不是全部记录是查询的重要任务。此例要求从所有学生的信息中选出“学号”前四位为“,9904”,和“,9804”,的所有男生,可以利用查询设计器中的“筛选”选项卡。“筛选”选项卡可确定用于选择记录的字段和比较准则,以及输入与该字段进行比较的示例值。,选择筛选字段,设置筛选条件,输入筛选实例,设置条件逻辑,是否区分大小写,在字段名下的下拉选择框中选择“,Student.,性别”,在“条件”下的下拉选择框中选择“,=”,,在“实例”下的文本框中输入,.T.,,则查询所有的男生。,返回,3/7/2026,16,Visual FoxPro 6.0程序设计,在“逻辑”下的下拉选择框中选择“,AND”,,,然后再在字段名下的下拉选择框中选择“,Student.,学号”,在“条件”下的下拉选择框中选择“,In”,,,在“实例”下的文本框中输入“,9904,9804”,(,请注意中间的“,”,是,En,状态下输入的,)。,查询结果排序,排序决定了查询输出结果中记录或行的先后顺序,我们可以通过“排序依据”选项卡设置查询的排序次序,方法同在用查询向导设计查询介绍的一样,首先从“选定字段”框中选定要使用的字段,返回,3/7/2026,17,Visual FoxPro 6.0程序设计,并把它们移到“排序条件”框中,然后利用“排序选项”(从中选择升序或降序)来设置排序条件。本例中设置,Student.,学号,升序为排序依据。,选择一个字段,单击,【,添加,】,选定的字段列表,如果还需要添加用于排序的字段,可以重复以上的操作步骤。,返回,3/7/2026,18,Visual FoxPro 6.0程序设计,筛选条件练习,对,books,表建立如下查询,查询结果包括所有字段,1,、查询显示“计算机”类书籍,,kind,字段名显示为“类别”,查询名为,1.qpr,2,、查询书名中有“设计”,2,字的书籍,查询名为,2.qpr,3,、查询书名以“计算机”开始的书籍,查询名为,3.qpr,4,、查询显示,99,年以后书籍,查询名为,4.qpr,5,、查询显示,99,年,6,月,1,日后出版的书籍,查询名为,5.qpr,6,、查询已借出的书籍,查询名为,6.qpr,7,、查询印数大于,800,并且价格大于,30,的书籍,查询名为,7.qpr,建查询,8.qpr,,查询,achievement.dbf,表中系别为,12,的记录,,no,字段第,3,、,4,位为系别。,3/7/2026,19,Visual FoxPro 6.0程序设计,建立分组查询,所谓分组就是将一组类似的记录压缩成一个结果记录,这样就可完成基于一组记录的计算。分组在与某些累计功能联合使用时效果最好,例如,SUM(),,,COUNT(),,,AVG(),等。,如果不想压缩结果记录,则不必设置它。在此例中不设分组查询。如果想求各门课程的平均成绩,可以用“课程名”进行分类查询。,选择一个字段,单击,【,添加,】,选定的字段列表,3/7/2026,20,Visual FoxPro 6.0程序设计,操作步骤如下:,(,1,)在查询设计器的“字段”选项卡中,单击“函数和表达式”右边的按钮,出现“表达式”生成器;,(,2,)在“数学”下拉式列表框中双击,AVG,(,expN,),,在“来源于表”下拉框中选择,Grade,表,在“字段”列表框中双击“课程成绩”,单击,【,确定,】,。即在“函数和表达式”框中自动生成了“,AVG(Grade.,课程成绩,)”,这个表达式,用以计算,Grade,表中课程成绩的平均值。,(,3,)单击“添加”按钮,该表达式被添加到“选定字段”列表框中。将来查询结果中就会有一列数据求平均值;,(,4,)单击“分组依据”选项卡,进入“分组依据”窗口,在“可用字段”中选择,Grade.,课程名称,再单击,【,添加,】,按钮,该字段即成为分组字段。,运行查询后的结果,返回,3/7/2026,21,Visual FoxPro 6.0程序设计,分组查询练习,建查询,9.qpr,,查询结果为,achievement.dbf,表中各学生的学号、,grade,总和,字段名显示为“学号”、“总成绩”,3/7/2026,22,Visual FoxPro 6.0程序设计,杂项的设置,经过以上五个步骤,基本上已生成了一个比较全面的查询。接下来还可以通过查询设计器中的“杂项”选项卡做最后处理。,单击“杂项”选项卡,可以看到其间包括“无重复记录”、“交叉数据表”、“全部”、“百分比”这四个复选框和一个微调按钮。,选中“无重复记录”复选框表示对于查询结果如果存在重复记录,则只取相同记录中的一个。选中此项,在查询生成器的,SQL,语句中会自动加上限定词,Distinct,,,表示去掉重复记录。,3/7/2026,23,Visual FoxPro 6.0程序设计,定向输出查询结果,查询检索的信息,可以输出到不同的目的地,以用作不同的用途。如果没有选定输出的目的地,查询结果将显示在浏览窗口中。查询输出目的可以是浏览窗口、临时表、表、图形、屏幕、报表、标签等。选择结果的去向方法如下:,单击“查询设计器工具”中的,【,查询去向,】,按钮,或者从,【,查询,】,菜单中选择,【,查询去向,】,,可看到如图所示的“查询去向”对话框。,对话框中的按钮含义如下:,3/7/2026,24,Visual FoxPro 6.0程序设计,【,浏览,】,:在浏览窗口中显示查询结果,这是查询缺省设置;,【,临时表,】,:将查询结果存储在一个临时只读表中。多次查询的结果可放在不同的表内。该表可用于浏览数据,制作报表等,直到用户关闭它们;,【,表,】,:将查询的结果保存在一个命名的表(,.DBF,),中,此时查询的结果是真正的存放到磁盘上的,多次查询的结果可放在不同的表内;,【,图形,】,:使查询结果可用于,Microsoft Graph,(,包含在,VFP5,中的一个独立的应用程序)中制作图表;,【,屏幕,】,:在,VFP,主窗口或当前活动输出窗口中显示查询结果;,【,报表,】,:将输出送到一个报表文件(,.FRX,),中;,【,标签,】,:将输出送到一个标签文件(,.LBX,),中。,选定一个去向,按一定的步骤设置一些属性,然后单击,【,确定,】,按钮,系统就将按意图放置查询结果。,假设本例将查询结果保存到临时表中,取临时表名为“查询,1”,。,返回,3/7/2026,25,Visual FoxPro 6.0程序设计,运行查询,在完成了查询的设计工作并指定了结果输出去向后,可通过以下五种方式之一运行查询:,在查询设计器区域内单击右键,在弹出菜单中选择“运行查询”;,在“项目管理器”中选定查询的名称,然后选定“运行”按钮;,在“查询”菜单中选择“运行查询”:,在命令窗口中键入,DO,查询名,.,qpr,。,单击系统常用菜单上的“运行”按钮。,本例中按前述步骤设置后,单击系统菜单上的“运行”按钮运行查询,并将查询结果保存到临时表“查询,1”,中,然后再在浏览窗口中单击,【,显示,】|【,浏览“查询,1”】,,结果如右表。,返回,3/7/2026,26,Visual FoxPro 6.0程序设计,创建视图,创建本地视图,用已有的,SQL SELECT,语句创建视图,返回,退出,3/7/2026,27,Visual FoxPro 6.0程序设计,视图,是从一个或多个数据库表中导出的“表”,视图中的数据是存储在原来的数据库表中,视图是一个“虚表”,视图依赖于某一数据库而存在,只有打开与视图相关的数据库才能创建和使用视图,视图兼有“表”和“查询”的特点,视图类型:本地视图、远程视图,创建视图的方法:,菜单或工具栏,CREATE VIEW,命令,使用,SQL,命令,CREATE VIEW AS,与查询的区别:,视图设计器中有“更新条件”选项卡,视图设计器中没有“查询去向”问题,3/7/2026,28,Visual FoxPro 6.0程序设计,创建本地视图,视图可以通过向导和设计器两种方法来创建。,1,、利用向导创建本地视图,用本地视图向导创建本地视图,可采取以下方式:,方式一,:,(,1,)在主窗口下打开,【,工具,】,菜单,选择,【,向导,】,菜单命令。,(,2,)再选择,【,全部,】,菜单,出现,【,向导选取,】,对话框,如图,单击滑动按钮,选择“本地视图向导”,单击,【,确定,】,进入到“本地视图向导步骤,1,字段选取”,3/7/2026,29,Visual FoxPro 6.0程序设计,方式二,:,(,1,)在主窗口下打开,【,文件,】,菜单,选择,【,新建,】,菜单命令。,(,2,)选择“视图”,再单击,【,向导,】,,将弹出,【,本地视图向导,】,对话框。,(,3,)然后按照向导屏幕上的指示操作。,方式三,:,(,1,)在项目管理器中选定数据库。,(,2,)选定本地视图,单击,【,新建,】,按钮。,(,3,)单击,【,视图向导,】,按钮,(,4,)然后按照向导屏幕上的指示操作。,方式四,:,(,1,)打开数据库设计器,打开,【,数据库,】,菜单。,(,2,)选择,【,新建本地视图,】,,再单击,【,视图向导,】,按钮。,(,3,)然后按照向导屏幕上的指示操作。,3/7/2026,30,Visual FoxPro 6.0程序设计,本地视图向导:步骤,1,字段选取,说明:,按照上述几种方式,可以快速建立本地视图,但要强调的是,在项目管理器中创建或使用视图时,项目管理器会自动打开数据库。如果要使用项目以外的表或视图,则必须先打开数据库或事先确认数据库在作用范围内,。,本地视图向导对话框如图,可以看到,创建视图大体要经过以下步骤:,(,1,)字段选取。选择数据库,数据库中的表和表中的字段。如果当前已经打开了一个数据库,则第一步的对话框中显示的,3/7/2026,31,Visual FoxPro 6.0程序设计,是创建当前数据库的视图,也可以选择其它的数据库。,(,2,)关联表。建立数据库中表与表之间的关系。,(,3,)包含记录。指定包含表中的全部记录还是仅匹配的记录。,(,4,)筛选记录。选定符合条件的记录。,(,5,)排序记录。为选定的记录按照某一字段进行排序。,(,5,)限定记录。定制显示一定数量的记录。,(,7,)完成视图。选择保存视图后浏览还是修改。,例:创建包含,Grade,表和,Courses,表的本地视图“视图,1”,。,选择表,Grade,单击全部添加按钮,选择,Courses,表,单击单个添加按钮,添加课程名、学时数、学分数,3/7/2026,32,Visual FoxPro 6.0程序设计,与设计多表查询不相同的部分,更新条件,视图的最大特点在于能用视图更新数据,这也是建立视图与建立查询的主要区别,也是视图的重点所在。视图设计器中的“更新条件”选项卡可以用来设置允许视图更新表字段的条件。,3/7/2026,33,Visual FoxPro 6.0程序设计,“更新条件”选项卡选项包括如下内容:,“,表”:指定视图所使用的哪些表可以修改。选择这个下拉列表框中的选项,可以确定哪些表中的字段可以在“字段名”列表框中,以便设置更新条件。此列表中所显示的表都包含了“字段”选项卡“选定字段”列表中的字段。,【,重置关键字,】,:这个按钮作用是从每个表中选择主关键字字段作为视图的关键字字段。每个主关键字字段是在“字段名”列表中的、在钥匙符号下面打一个对钩的字段,关键字字段可,3/7/2026,34,Visual FoxPro 6.0程序设计,可用来使视图中的修改与表中的原始记录相匹配。,【,全部更新,】,:可以从字段名文本框中看到一些字段前的铅笔符号下打了一个对钩,这表明这些字段可以更新。在这个按钮中可以选择除了关键字字段以外的所有字段来进行更新,并在“字段名”列表的铅笔符号下打一个对钩。,“,发送,SQL,更新”:指定是否将视图记录中的修改传送给原始表。如果选择了这个复选框,将把在视图中对记录字段的修改返回到源表中。,“,字段名”列表框:显示了从“表”列表框中所选的表中的字段、并用来输出这些字段,不过这些字段都是可以更新的。在字段文本框中共有下列,3,种方式字段:,关键字段(使用钥匙符号作标记),指定该字段是否为关键字段。,可更新字段(使用铅笔符号作标记),指定该字段是否为可更新字段。,字段名,显示可标志为关键字字段或可更新字段的输出字段名。,3/7/2026,35,Visual FoxPro 6.0程序设计,“,SQL WHERE,子句包括”:,“,关键字段”:如果在原始表中有一个关键字字段被改变,设置,WHERE,子句来检测冲突,对于由另一用户对表中原始记录的其他字段所做修改不进行比较。,“,关键字和可更新字段”:设置,WHERE,子句来检测由某一用户修改了任何可更新的字段的冲突。,“,关键字和已修改字段”:如果从视图首次检索(默认)以后,关键字字段或原始表记录的已修改字段中,某个字段做过修改,设置,WHERE,子句来检测冲突。,“,关键字段和时间戳”:如果自原始表记录的时间戳首次检索以后,它被修改过,设置,WHERE,子句来检测冲突。只有当远程表有时间戳列时,此选项才有效。,“,使用更新”:此单选按钮组用于指定字段如何在后端服务器上进行更新。,“,SQL DELETE,然后,INSERT”,:,指定先删除原始表记录后,再创建一个新的在视图中被修改的记录。,“,SQL UPDATE”,:,指定用视图字段中的内容来修改原始表中的字段。,返回,3/7/2026,36,Visual FoxPro 6.0程序设计,用已有的,SQL SELECT,语句创建视图,同查询一样,可用,SELECTSQL,语言创建视图。若用,SELECTSQL,建立视图,则可用下列,SELECTSQL,语句(,只要求看懂简单的,SELECTSQL,语句,):,格式,:,SELECT,ALL|DISTINCT TOP,nExpr,PERCENT,Alias,.,Select_Item,AS,Column_ Name,Alias,.,Select_Item,AS,Column_Name,.,FROM,FORCE,DatabaseName,!Table AS,Local_Alias,INNER|LEFT OUTER|RIGHT OUTER|FULL OUTER,JOINDatabaseName,!Table AS,Local_Alias,ON,Join,Condition,INTO,Destination,|,TO FILE,FileName,ADDITIVE|TO PRINTER PROMPT|TO SCREEN PREFERENCE,PreferenceName,NOCONSOLE PLAIN NOWAIT,WHERE,JoinCondition,.AND.,JoinCondition,.AND.|.OR.,FilterCondition,.AND.|.OR.,FilterCondition,.,GROUP BY,GroupColumn,GroupColumn,.HAVING,FilterCondition,UNION ALL,SELECTCommand,ORDER BY,Order_Item,ASC|DESC,Order_Item,ASC|DESC.,3/7/2026,37,Visual FoxPro 6.0程序设计,功能:,从一个或多个表中检索数据。,参数描述:,SELECT,:用,SELECT,子句指定在查询结果中包含的字段、常量和表达式。,ALL,:,在查询结果中包含所有的行(包括重复值)。它是系统的默认设置。,DISTINCT,:,在查询结果中删除重复行。,TOP,nExpr,PERCENT,:,在符合查询条件的所有记录中,选取指定数量或百分比的记录。,TOP,子句必须与,ORDER BY,子句同时使用。,ORDER BY,子句指定按哪个字段排序,,TOP,子句根据此排序选定开始的,nExp,个 或,nExp,%,的记录。可以指定选取,132757,条记录。,Alias,.,:,限定匹配项的名称。,Select-Item,指定的每一项在查询结果中都生成一列,如果多个项具有相同的名称,则应在这些项前加上表的别名和一个句点号,以防止出现重复的列。,Select_Item,:,指定包含在查询中的一个项。一个项可以是:,3/7/2026,38,Visual FoxPro 6.0程序设计,FROM,子句中所包含的表中的字段名称。,一个常量,查询结果中的每一行都出现这个常量值。,一个表达式,可以是用户自定义函数名。,AS,Column_Name,:,指定查询结果中的列标题。当,Select-Item,是一个表达式或一个字段函数时,如果要给此列取一个有意义的名称可用这个子句。它可以是一个表达式。,FROM,:,列出所有从中检索数据的表。如果没有打开表,,VFP,会显示“打开”对话框以便指定文件位置,表打开以后直到查询结束才关闭。,FORCE,:,如果包含了此子句,,VFP,在建立查询时会严格按照在,FROM,子句中申明的顺序建立联接,否则会试图对查询进行优化。避免优化过程,可能会加快查询执行的速度。,DatabaseName,!,:,当包含表的数据库不是当前的数据库时,此子句指定数据库的名称。如果数据库不是当前数据库,就必须指定包含表的数据库名称,注意其后应加上“!”号。,Table AS,Local_Alias,:为,Table,中的表指定一个临时名称。,3/7/2026,39,Visual FoxPro 6.0程序设计,如果指定了本地别名,那么在整个,Select,语句中都必须用这个别名代替表名。,INNER JOIN,:,只有在其它表中包含对应记录(一个或多个)的记录才出现在查询结果中。,LEFT OUTER JOIN,:,在查询结果中包含,JOIN,左侧表中的所有记录,以及右侧表中匹配的记录。这是左联接。,RIGHT OUTER JOIN,:,在查询结果中包含,JOIN,右侧表中的所有记录,以及左侧表中匹配的记录。这是右联接。,FULL OUTER JOIN,:,在查询结果中包含,JOIN,两侧表中的所有记录,这是完全联接。,DatabaseName,!,Table,AS,Local_Alias,:,指定和当前表建立联接的表所在的数据库及表名或本地表别名。,ON,JoinCondition,:,指定联接条件。,INTO,Destination,:,指定在何处保存查询结果。如果在同一个查询中同时包含了,INTO,子句和,TO,子句,则,TO,子句不起作用。如果没有包含,INTO,子句,查询结果显示在“浏览”窗口中。,3/7/2026,40,Visual FoxPro 6.0程序设计,Destination,可以是下列子句之一:,ARRAY,ArrayName,:,将查询结果保存到数组中。如果查询结果中不包含任何记录,则不创建这个数组。,CURSOR,CursorName,:,将查询结果保存到临时表中。如果指定了一个已打开表的名称,则,VFP,产生错误信息。执行完,SELECT,语句后,临时表仍然保持打开、活动,但只读。一旦关闭临时表,则自动删除它。,DBF,TableName|TABLE,TableName,:,将查询结果保存到一个表中,如果指定的表已经打开,并且,SET SAFETY,设置为,OFF,,则,VFP,在不给出任何警告信息的情况下改写该表。执行完,SELECT,语句后,临时表仍然保持打开活动状态。,TO FILE,FileName,ADDITIVE|TO PRINTER PROMPT|TO SCREEN,:,如果命令中包含了,TO,子句,但没有包括,INTO,子句,则查询结果定向输出到名为,FileName,的,ASCII,码文件、打印机或主窗口。包含,ADDITIVE,子句使查询结果追加到所指定的文本文件的内容后面。,3/7/2026,41,Visual FoxPro 6.0程序设计,PREFERENCE,PreferenceName,:,如果查询结果送往浏览窗口,就可以使用该子句保存浏览窗口的属性和选项以备后用。,NOCONSOLE,:,不显示送到打印机、文件、或,VFP,主窗口的查询结果。,PLAIN,:,防止列标题出现在显示的查询结果中。,NOWAIT,:,打开浏览窗口并将结果输出到这个窗口后继续程序的执行。,WHERE,:,告诉,VFP,只在查询结果中包含一定的记录。从多表检索中查找数据时需要用到该子句。,JoinCondition,:,指定一个字段,该字段联接,FROM,子句中的表。如果查询中包括不止一个表就应该为第一个表后的每一个表指定联接条件。联接多个查询条件必须使用,.AND.,。,每个联接都是这样的形式:,FieldName1 Comparison FieldName2,其中:,FieldName1,是一个表的字段名,,FieldName2,是另一个表的字段名。,Comparison,是下列的某一操作符:,3/7/2026,42,Visual FoxPro 6.0程序设计,=,、,=,、,LIKE,、,,,!=,,,#,、,、,=,、,、,=,FilterCondition,:,指定包含在查询结果中的记录必须满足条件。筛选条件的数目没有限制,只要将它们用,.AND.,或,.OR.,操作符连接起来即可。也可以使用操作符,.NOT.,对逻辑表达式取反,或使用,EMPTY(),函数检查字段是否为空等。,GROUP BY,GroupColumn,:,按列的值对查询结果进行分组。,GroupColumn,可以是常规的表字段名,也可以是一个包含,SQL,字段函数的字段名,还可以是一个数值表达式指定查询结果表中的列位置。,HAVING,FilterCondition,:,指定包含在查询结果中的组必须满足的条件。它应和,GROUP BY,GroupColumn,一起使用。,UNION ALL,SELECTCommand,:,把一个,SELECT,语句的最后查询结果同另一个,SELECT,语句最后的查询结果组合起来。,ALL,防止,UNION,删除组合结果中的重复行。,ORDER BY Order_Item,:,根据列的数据对查询结果进行排序。每个,Order_Item,都必须对应查询结果中的一列。,3/7/2026,43,Visual FoxPro 6.0程序设计,用,SELECTSQL,命令完成上节的设计任务:,SELECT,Department.,系部名称,Classzc,.,班级名称,Student.,学号,;,Student.,姓名,Course.,课程名,Grade.,课程成绩,;,FROM,gxglxt!department,INNER JOIN,gxglxt!classzc,;,INNER JOIN,gxglxt!student,;,INNER JOIN,gxglxt!grade,;,INNER JOIN,gxglxt!course,;,ON Grade.,课程代号,=Course.,课程代号,;,ON Student.,学号,=Grade.,学号,;,ON,Classzc,.,班级代号,=Student.,班级代号,;,ON Department.,系部代号,=,Classzc,.,系部代号,;,WHERE,Classzc,.,系部代号,=04;,.AND.Grade.,开课学期,=,第,1,学期,;,ORDER BY,Student.,学号,;,INTO CURSOR,视图,1,3/7/2026,44,Visual FoxPro 6.0程序设计,运行该,SELECT,语句后,选择,【,显示,】|【,浏览“视图,1”】,屏幕显示如图:,返回,3/7/2026,45,Visual FoxPro 6.0程序设计,数据库视图的操作,使用视图,退 出,显示视图结构,重新命名视图,删除视图,返 回,3/7/2026,46,Visual FoxPro 6.0程序设计,使用视图,建立视图后,不但可以用它来显示和更新数据,而且还可以通过调整它的属性来提高性能。处理视图类似处理表,可以:,使用,USE,命令并指定视图名来打开一个视图。,使用,USE,命令关闭视图。,在,【,浏览,】,窗口中显示视图。,在,【,查看,】,窗口中显示已打开的视图的别名。,将视图作为数据源,供表单或表格控件使用。,若要使用一个视图,可采取如下方法:,在项目管理器中先选择一个数据库,再选择视图名,然后单击,【,浏览,】,按钮,在,【,浏览,】,窗口中显示视图。,使用编程的方式访问视图。,下面的代码在,【,浏览,】,窗口中显示存放在,c:gxglxt,目录下,gxglxt,数据库中的视图,1,:,open database,c:gxglxtgxglxt,use,视图,1,3/7/2026,47,Visual FoxPro 6.0程序设计,browse,在使用一个视图时,视图将作为临时表在自己的工作区打开。如果此视图基于本地表,则,VFP5,会在另一个工作区同时打开基表。可以通过选择系统菜单上的,【,窗口,】|【,数据工作期,】,打开“数据工作期”窗口。但有一个例外,如果视图是基于远程表,则基表将不在工作区中打开。而只在,【,查看,】,窗口中显示远程视图的名称。,返回,3/7/2026,48,Visual FoxPro 6.0程序设计,有时用户只想了解视图的结构,而不关心视图中的数据。这样可以使用带,NODATA,子句的,USE,命令来快速显示视图的结构。例如:,open database,c:gxglxtgxglxt,use,视图,1,nodata,in 0,Select,视图,1,browse,通过运行上面的命令语句,将在,【,浏览,】,窗口中看到没有记录的视图,1,。因为使用,NODATA,子句时,,VFP5,为视图,1,创建一个永远返回,.F.,值的,WHERE,子句,而数据源上没有记录匹配,WHERE,子句的条件,所以没有记录被选择。,显示视图结构,返回,3/7/2026,49,Visual FoxPro 6.0程序设计,重新命名视图,建立一个视图以后,还可以为其重新命名视图,进行视图的重新命名,可以使用项目管理器或用,RENAME VIEW,命令。,在项目管理器中先选择一数据库,再右击要重新命名的视图。单击,【,重命名,】,按钮,出现一对话框后即可为视图输入新的名称。,使用,RENAME VIEW,命令。,例如,下面的代码将视图,2,重新命名为视图,1,:,rename view,视图,1,to,视图,2,说明:,在重新命名视图之前,必须打开包含要命名视图的数据库,。,删除视图,视图同表一样也是可以删除的,删除视图可以使用项目管理器或使用,DELETE VIEW,命令。,在项目管理器中选择一个数据库,再选择要删除的视图,然后用鼠标右击,单击,【,移去,】,按钮,即可删除所选的视图。,返回,3/7/2026,50,Visual FoxPro 6.0程序设计,使用,DELETE VIEW,命令。,例如,如果要删除数据库,xsglxt,中的视图,2,,可以键入以下的命令语句:,delete view,视图,2,说明:,在删除视图之前,必须打开包含要删除视图的数据库并设置其为当前数据库。,返回,3/7/2026,51,Visual FoxPro 6.0程序设计,利用视图更新数据,在,项目管理器中选择“视图,3”,,单击,【,修改,】,,在视图设计器中选择“字段”选项卡,如图。,返回,3/7/2026,52,Visual FoxPro 6.0程序设计,在上图中,请注意,Grade,表中的字段。,选择“更新条件”选项卡,进行如图设置:,设定关键字段和可修改字段。,注意:因为表,Grade,中每个字段的值都不唯一,所以要用组合关键字(学号,+,课程代号,+,开课学期),存档并显示结果。选,【,文件,】|【,保存,】,或从工具栏中单击保存按钮保存此视图。选取菜单,【,查询,】|【,运行查询,】,查看结果,为视图参数输入“,04”,(带定界符)、“第,1,学期”后的运行结果如图:,3/7/2026,53,Visual FoxPro 6.0程序设计,修改视图数据。既然我们已经为视图,3,视图文件设定关键字段与可更新字段,也就是设定了视图文件中哪些字段可以经过修改而自动更正原始数据文件内容,现在就来验证这些设定是否生效。,将视图中最后一条记录的“课程成绩”由,62,改为,99,。,3/7/2026,54,Visual FoxPro 6.0程序设计,99,在,视图中更改此处数据,更改完毕后操作光标离开这条记录,观察,Grade,表中相关记录变化的情形。,从结果可以看出:,Grade,表中的学号和课程成绩已随着视图文件的更改而自动修正了。表示我们设定的可更新字段生效。,99,返回,3/7/2026
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:VFP课件——查询与视图.ppt
    链接地址:https://www.zixin.com.cn/doc/13360301.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


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

    自信网络  |  ZixinNetwork