320 likes | 442 Views
全国计算机等级考试 二级教程 --- Visual FoxPro6.0 程序设计. 主 讲:李富星. 延安大学 计算中心. E-mail: yaydlfx@163.com. 6.1 查询 6.2 视图. 第 6 章 查询与视图. 6.1.1 查询设计器 6.1.2 查询的创建 6.1.3 查询设计器的局限性 6.1.4 查询的运行与修改. 6.1 查询. 6.1.1 查询设计器. 1. 查询的概念 查询 :就是向一个数据库发出检索信息的请求,从中提取符合特定条件的记录。 查询文件 :
E N D
全国计算机等级考试二级教程---Visual FoxPro6.0程序设计 主 讲:李富星 延安大学 计算中心 E-mail: yaydlfx@163.com
6.1 查询 6.2 视图 第6章 查询与视图
6.1.1 查询设计器 6.1.2 查询的创建 6.1.3 查询设计器的局限性 6.1.4 查询的运行与修改 6.1 查询
6.1.1 查询设计器 1. 查询的概念 查询:就是向一个数据库发出检索信息的请求,从中提取符合特定条件的记录。 查询文件: 即保存实现查询的SELECT-SQL命令的文件。查询文件保存时,系统自动给出扩展名 .qpr;查询被运行后,系统还会生成一个编译后的查询文件,扩展名为 .qpx。 查询结果: 通过运行查询文件得到的一个基于表和视图的动态的数据集合。查询结果可以用不同的形式来保存。查询中的数据是只读的。 查询的数据源:可以是一张或多张相关的自由表、数据库表、视图。
查询设计器工具栏 “查询设计器工具栏”各按钮的功能如下: 按钮:添加数据库表。 按钮:移去数据库表。 按钮:添加数据库表间的联接。 按钮:显示SQL窗口。 按钮:最大化上部分窗口。 按钮:确定查询去向。
“查询设计器”进行查询的步骤 打开查询设计器 → 添加创建查询所基于的数据表 → 定义输出内容 → 设置联接、筛选、排序、分组条件 → 选择查询结果的输出形式 → 保存查询文件 →运行查询。 (1) 打开查询设计器(三种方法) 1) 选择【文件】或【工具栏上单击】│【新建】命令,进入“新建”对话框,选择“查询”单选按钮,单击“新建”按钮; 2) 在“项目管理器”窗口中,选择“数据”选项卡,选中“查询”文件类型,单击“新建”按钮,出现“新建查询”对话框,单击“新建查询”按钮。 3 ) 从命令窗口中输入命令: reate query 查询文件名 & 创建新查询 modify query 查询文件名 & 修改已存在的查询
(2) 定义查询的输出内容单击字段选项卡 → 从可用字段列表框中单击所需字段(当输出的列不是直接来源于表中的字段时,单击函数和表达式框边的…按钮,打开表达式生成器,构造出所需的表达式)→ 单击添加按钮 → 所需字段自动出现在选定字段框中。(3) 设置查询的筛选条件筛选条件决定将哪些记录显示出来。在筛选框中构造筛选条件表达式时,要注意在实例框中输入不同数据类型时的格式:1) 字符串可以不带引号(当与源表中的字段名相同时才用引号);2) 日期型数值要用{ }括起来; 3) 逻辑型数据两侧要带 .号,如 .T.,.F.
(4) 设置查询结果的排序依据 排序决定查询输出结果中记录显示的顺序。 设置方法: 单击排序依据 → 从选定字段框选中字段 → 选择升序或降序 → 单击添加。 (5) 设置查询结果的分组依据 分组是指将一组类似的记录压缩成一个结果记录,目的是为了完成基于该组记录的计算,比如:求平均值、总和、统计个数、其中的最大值、最小值等。
几个常用的统计函数 功能 函数 求平均值 AVG() 求总和 SUM() 求最大值 MAX() 求最小值 MIN() 统计个数 COUNT() 用于分组的字段不一定是选定输出的字段,但分组字段不能是一个计算字段。 可以用 满足条件…来对分组结果进行进一步筛选。
3 查询的设计过程 在创建查询时,通常可以遵循以下六个步骤来创建查询。 (1)用“查询向导”或“查询设计器”创建查询。 (2)选择在查询结果中需要的字段。 (3)设置查询记录的条件。 (4)设置排序及分组条件来组织查询结果。 (5)选择查询输出类别,可以是报表、表文件、图表、浏览窗口和表文件等等。 (6)运行此查询。
6.1.2 查询的创建 1.利用“查询向导”创建查询 利用“查询向导”创建查询的步骤如下: (1)进入“查询向导” 进入“查询向导”可用下面3种方法: ① 选择【工具】|【向导】|【查询】命令。 ② 选择【文件】|【新建】命令,进入“新建”对话框,选择“查询”单选按钮,单击“向导”按钮。 ③ 在“项目管理器”窗口中,选择“数据”选项卡,选中“查询”,单击“新建”按钮,出现“新建查询”对话框,单击“查询向导”按钮。
(2)选择查询结果中需要的字段 (3)设置查询条件 (4)设置排序字段 (5)设置记录输出范围 (6)保存查询
2.使用查询设计器创建查询 使用“查询设计器”创建前面“查询向导”创建查询例子,具体步骤如下: (1)进入“查询设计器”窗口,添加stud表 ,如图所示。
(2)选择查询需要的字段 (3)设置查询条件 (4)保存查询
6.1.3 查询设计器的局限性 使用SQL-SELECT命令直接使用各种文本编辑器可以完成各种查询,但查询设计器只能建立一些比较规则的查询,复杂的查询比如内外层相互嵌套查询等查询设计器不能完全。另外这样的查询也不能用查询设计器来修改。
6.1.4 查询的运行与修改 1.查询的运行 运行查询的方法有以下5种: ① 在“查询设计器”窗口中,选择【查询】|【运行查询】命令。 ② 在“查询设计器”窗口中,右击“查询设计器”窗口,选择快捷菜单中的【运行查询】命令。 ③ 选择【程序】|【运行】命令。弹出“运行”对话框,在对话框中,选择所要运行的查询文件,单击“运行”按钮。 ④ 在“项目管理器”窗口中,选择要运行的查询文件,单击右边的“运行”按钮。 ⑤ 在“命令”窗口中,键入 DO <查询文件名> 。例如:DO 查询1.qpr。
2.查询的修改 修改可以用以下3种方法: ① 在“项目管理器”窗口中,选择要修改的查询文件,单击右边的“修改”按钮,进入“查询设计器”窗口中修改。 ② 选择【文件】|【打开】命令,在“打开”对话框中,选择所要修改的查询文件,单击“确定”按钮,进入“查询设计器”窗口中修改。 ③ 在命令窗口中,键入 MODIFY QUERY <查询文件名>。 3.查询去向的设置 单击“查询设计器”工具栏中的“查询去向”按钮或在系统菜单中单击【查询】|【查询去向】命令,弹出“查询去向”对话框,如图6-6 所示。其中共包含7个查询去向,各项的含义见表。
6.2.1视图简介 6.2.2 建立视图 6.2.3 远程视图与连接 6.2.4 视图与数据更新 6.2.5 使用视图 6.2 视图
6.2.1 视图简介 • 视图是一个定制的虚拟逻辑表,视图中只存放相应的数据逻辑关系,并不保存表的记录内容,但可以在视图中改变记录的值,然后将更新记录返回到源表。 • 视图与查询在功能上有许多相似之处,但又有各自特点,主要区别如下: • 功能不同:视图可以更新字段内容并返回源表,而查询文件中的记录数据不能被修改。 • 从属不同:视图不是一个独立的文件而从属于某一个数据库。查询是一个独立的文件,它不从属于某一个数据库。
访问范围不同:视图可以访问本地数据源和远程数据源,而查询只能访问本地数据源。访问范围不同:视图可以访问本地数据源和远程数据源,而查询只能访问本地数据源。 • 输出去向不同:视图只能输出到表中,而查询可以选择多种去向,如表、图表、报表、标签、窗口等形式。 • 使用方式不同:视图只有所属的数据库被打开时,才能使用。而查询文件可在命令窗口中执行。
6.2.2 建立视图 • 视图分类: • 本地视图:使用VFP SQL语法从视图或表中选择 信息 • 远程视图:使用远程SQL语法从远程ODBC数据源表(例:ACCESS,EXCEL)中选择信息。 • 1.建立视图的方法: • 用CREATE VIEW 命令。打开视图设计器 • 选择【文件】或【工具栏上单击】│【新建】命令,进入“新建”对话框,选择“视图”单选按钮,单击“新建文件”按钮,打开视图设计器; • 在“项目管理器”窗口中,选择“数据”选项卡,并选择“本地视图”或“远程视图” ,然后单击“新建”按钮,打开视图设计器。
2.视图设计器 视图设计器和查询设计器的使用方式几乎完全一样。 区别: 查询设计器的结果是以.qbr扩展名的文件保存在磁盘中;而视图的结果保存在数据库中。 视图设计器多了一个“更新条件”选项卡,所以视图具有更新属性,即视图可以更新。而查询不能更新。 视图设计器中无“查询去向”。
1.使用视图设计器创建本地视图 从项目管理器中选择一个数据库→选择本地视图→单击新建按钮→选择新视图→添加所需的数据表→在视图设计器中按照与创建查询相同的步骤(2)~(6)建立视图→设置更新条件→保存视图→给出视图名称→关闭视图设计器。 2.使用本地视图向导创建本地视图 从项目管理器中选择一个数据库→选择本地视图→单击新建按钮→选择视图向导→选取字段→关联表→记录操作范围→筛选记录→排序记录→选择保存方式→完成。
6.2.3 远程视图与连接 创建远程数据联接 远程视图是通过ODBC从远程数据源建立的视图。 所谓ODBC即Open DataBase Connectivity (开放式数据互连)的英语缩写,它是一个标准的数据库接口,以一个动态连接库(DLL)方式提供的。 创建ODBC数据源可以用二种方法建立。 第一种方法是利用 “连接设计器”中“新的数据源”创建,第二种方法是利用在windows系统的“控制面板”中启动“ODBC数据源(32位)”应用程序。
在机器上注册ODBC数据源 • 控制面板|32位ODBC|用户DSN|添加|选中“Microsoft FoxPro VFP Driver(*.dbf)|完成…
直接利用机器上注册的ODBC数据源建立远程视图直接利用机器上注册的ODBC数据源建立远程视图 • 文件|新建|远程视图|新建文件 • 建立一个命名连接来创建远程视图 • 命名连接是视图通向远程数据源的通道。远程视图按命名连接进行引用,从而实现与远程数据源进行通信。
6.2.4 视图与数据更新 • 为了通过视图能够更新基表中的数据,则须选中“视图设计器”左下角的“发送SQL更新”。 • 1 指定可更新的表 • 指定可更新的字段 • 检查更新合法性 • 使用更新方式: • SQL DELETE 然后 INSERT • SQL UPDATE
6.2.5 使用视图 • 1.视图操作 • 使用USE命令打开或关闭视图 • 在“浏览器”窗口显示或修改视图中的记录 • 使用SQL语句操作视图。 • 在文本框、表格控件、表单或报表中使用视图作为数据源。 • 2.使用视图 • 1)修改视图 • 在“项目管理器”中,选择“数据”选项卡,选定要修改的“本地视图”或“远程视图”,单击右边的“修改”按钮,进入“视图设计器”进行修改。
2)删除视图 • 在“项目管理器”中,选择“数据”选项卡,选定要修改的“本地视图”或“远程视图”,单击右边的“移去”按钮,单击提示框中“移去”按钮即可删除。 • 3)浏览视图 • 4)显示SQL语句 • 在“视图设计器”窗口。可用下面三种方法之一察看SQL语句: • 单击“视图设计器”工具栏中“SQL”按钮。 • 右击“视图设计器”窗口,选择 “察看 SQL”命令。 • 在系统菜单中选择【查询】|【查看SQL】
查询与视图比较 相似之处: 1.都可以从数据源中查找满足一定条件的记录。 2.都不保存数据,它们的查询结果随数据源内容的变化而变化。 不同之处: 1.视图可以更新数据源表,查询不能。 2.视图可以访问远程数据,但查询不能直接访问远程数据,它比须借助于远程视图。 3.查询不是数据库的一部分,而视图只能在数据库中存在。 4.查询既可以从自由表中查找数据, 又可以从数据库表中查找数据,而且还可以从多个数据库的表中查找数据,但视图只能从当前数据库表查找数据。