Visual FoxPro
1
i s u a l
F
V
o x P r o
Visual FoxPro
2
7.1 查询设计
7.2 视图设计
Visual FoxPro
3
7.1.1 查询设计器
1.启动查询设计器
启动查询设计器,
( 1) 选择, 文件, 菜单下的, 新建, 选项, 或单击
常用, 工具栏, 上的, 新建, 按钮, 打开, 新建,
对话框, 然后选择, 查询, 并单击, 新建文件, 打
开查询设计器建立查询 。
( 2) 用 CREATE QUERY命令打开查询设计器建立
查询 。
( 3) 如果熟悉 SQL SELECT,还可以直接编辑,qpr
文件建立查询 。
7.1
Visual FoxPro
4
下面介绍使用查询设计器建立查询的方法 。
不管使用哪种方法打开查询设计器建立查询, 都
首先进入, 添加表或视图, 对话框, 从中选择用于
建立查询的表或视图, 这时单击要选择的表或视图,
然后单击, 添加, 按钮 。 如果单击, 其他, 按钮还
可以选择自由表 。 当选择完表或视图后, 单击, 关
闭, 按钮正式进入查询设计器窗口 。
Visual FoxPro
5
为查询选择
表或视图
查询设计
器窗口
Visual FoxPro
6
2.查询设计器的选项卡
,查询设计器, 中有 6个选项卡, 其功能和 SQL
SELECT命令的各子句是相对应的 。
( 1) 字段 。 在, 字段, 选项卡设置查询结果中要包
含的字段, 对应于 SELECT命令中的输出字段 。 双
击, 可用字段, 列表框中的字段, 相应的字段就自
动移到右边的, 选定字段, 列表框中 。 如果选择全
部字段, 单击, 全部添加, 按钮 。 在, 函数和表达
式, 编辑框中, 输入或由, 表达式生成器, 生成一
个计算表达式, 如 AVG(入学成绩 )。
( 2) 联接 。 如果要查询多个表, 可以在, 联接, 选
项卡中设置表间的联接条件, 对应于 JOIN ON子句 。
Visual FoxPro
7
( 3) 筛选 。 在, 筛选, 选项卡中设置查询条件 。 对
应于 WHERE子句的表达式 。
( 4) 排序依据 。 在, 排序依据, 选项卡中指定排序
的字段和排序方式 。 对应于 ORDER BY子句 。
( 5) 分组依据 。 在, 分组依据, 选项卡中设置分组
条件 。 对应于 GROUP BY子句 。
( 6) 杂项 。 在, 杂项, 选项卡中设置有无重复记录
以及查询结果中显示的记录数等 。
由此可见,, 查询设计器, 实际上是 SELECT命令的
图形化界面 。
Visual FoxPro
8
7.1.2 建立查询
1,启动查询设计器
启动查询设计器, 并将学生表添加到查询设计器中 。
2,选取查询所需的字段
在查询设计器中单击, 字段, 选项卡, 从, 可用字段,
列表框中选择, 学号, 字段, 再单击, 添加, 按钮,
将其添加到, 选定字段, 列表框中 。 使用上述方法
将, 姓名,,, 出生日期, 和, 入学成绩, 字段添
加到, 选定字段, 列表框中, 这 4个字段即为查询
结果中要显示的字段 。 显示结果中显示字段的顺序,
用鼠标拖动选定的字段左边的小方块, 上下移动,
即可调整字段的显示顺序 。
Visual FoxPro
9
选择的字段
Visual FoxPro
10
3,建立排序查询
如果在, 排序依据, 选项卡中不设置排序条件, 则
显示结果按表中记录顺序显示 。 现要求记录按, 入
学成绩, 的升序显示, 因此在, 选定字段, 列表框
中选择, 入学成绩, 字段, 再单击, 添加, 按钮,
将其添加到, 排序条件, 列表框中, 再选择, 排序
选项, 的, 升序, 单选按钮 。
Visual FoxPro
11
设置排序依据
Visual FoxPro
12
4,保存查询文件
查询设计完成后,选择系统菜单中“文件”下拉菜
单的“另存为”选项,或单击常用工具栏上的保存
按钮,打开“另存为”对话框。选定查询文件将要
保存的位置,输入查询文件名,并单击“保存”按
钮。
5,关闭查询设计器
完成查询操作后,单击“查询设计器”工具栏中的
,SQL”按钮,或从“查询”菜单项中选择“查看
SQL”命令,可看到查询文件的内容。
Visual FoxPro
13
7.1.3 查询文件的操作
1.
使用查询设计器设计查询时, 每设计一步, 都可运行
查询, 查看运行结果, 这样可以边设计, 边运行,
对结果不满意再设计, 再运行, 直至达到满意的效
果 。 设计查询工作完成并保存查询文件后, 可利用
菜单选项或命令运行查询文件 。
( 1) 在查询设计器中直接运行 。 在查询设计器窗口,
选择, 查询, 菜单中的, 运行查询, 选项, 或单击
常用工具栏的运行按钮, 即可运行查询 。
Visual FoxPro
14
学生信息查询结果
Visual FoxPro
15
( 2) 利用菜单选项运行 。 在设计查询过程中或保存
查询文件后, 单击, 程序, 菜单中的, 运行, 选项,
打开, 运行, 对话框 。 选择要运行的查询文件, 再
单击, 运行, 按钮, 即可运行文件 。
( 3)
在命令窗口中执行运行查询文件的命令, 也可运行查
询文件 。
DO \[路径 \] <查询文件名,扩展名 >
值得注意的是, 命令中查询文件必须是全名, 即扩展
名不能省略 。
Visual FoxPro
16
7.1.4 修改查询文件
1,打开查询设计器
选择, 文件, 菜单中的, 打开, 选项, 指定文件类
型为, 查询,, 选择相应的查询文件, 单击, 确
定, 按钮, 打开该查询文件的查询设计器 。
使用命令也可以打开查询设计器, 命令格式是:
MODIFY QUERY <查询文件名 >
打开指定查询文件的查询设计器, 以便修改查询文
件 。
Visual FoxPro
17
2,修改查询条件
根据查询结果的需要, 可在 6个查询选项卡中对
不同的选项进行重新设置查询条件 。 下面根据要求,
对查询文件进行修改 。
( 1)
对查询结果只显示, 姓名, 不是, 王丽红, 的记
录,
单击, 筛选, 选项卡, 单击, 字段名, 输出框,
从显示的下拉列表中选取, 姓名, 。 从, 条件, 下
拉列表中选择, =”。 从, 实例, 输入框中单击, 显
示输入提示符后输入:王丽红 。 此时设置的条件为:
姓名 =王丽红 。 单击, 否, 下方的按钮, 设置的条
件将变为:姓名不等于王丽红 。
Visual FoxPro
18
设置筛选条件
Visual FoxPro
19
( 2)
将排序顺序改为按, 入学成绩, 降序排列, 修改
过程如下:单击, 排序依据, 选项卡, 单击, 排序
选项, 中的, 降序, 单选按钮 。
3,运行查询文件
单击常用工具栏上的运行按钮, 运行查询文件 。
单击, 关闭, 按钮, 关闭浏览窗口 。
4,保存修改结果
选择, 文件, 菜单中的, 保存, 选项, 或单击常
用工具栏上的保存按钮, 保存对文件的修改 。 单击
,关闭, 按钮, 关闭查询设计器 。
Visual FoxPro
20
查询结果
Visual FoxPro
21
7.1.5 定向输出查询文件
通常, 如果不选择查询结果的去向, 系统默认将
查询的结果显示在, 浏览, 窗口中 。 也可以选择其
他输出目的地, 将查询结果送往指定的地点, 例如
输出到临时表, 表, 图形, 屏幕, 报表和标签 。
Visual FoxPro
22
下面将查询文件输出输出修改到临时表, 具体操作方
( 1) 打开查询设计器 。
( 2) 选择, 查询, 菜单中的, 查询去向, 选项, 系
统将显示, 查询去向, 对话框 。
( 3) 单击, 临时表, 按钮 。 在, 临时表名, 文本框
中输入临时表名, 单击, 确定, 按钮, 关闭, 查询
去向, 对话框 。
( 4) 保存对查询文件的修改 。 单击查询设计器窗口
的, 关闭, 按钮, 关闭查询设计器 。
Visual FoxPro
23
“查询去向”
对话框
选择“临时表”
后的“查询去
向”对话框
Visual FoxPro
24
( 5) 运行该查询文件, 由于将查询结果输出到了一
个临时表中, 因此查询结果不在浏览窗口中显示 。
选择, 显示, 菜单中的, 浏览, 选项, 将显示
该临时表的内容 。 单击浏览窗口的, 关闭, 按钮,
关闭浏览窗口 。
如果用户只需浏览查询结果, 可输出到浏览窗
口 。 浏览窗口中的表是一个临时表, 关闭浏览窗口
后, 该临时表将自动删除 。
Visual FoxPro
25
用户可根据需要选择查询去向, 如果选择输出
为图形, 在运行该查询文件时, 系统将启动图形向
导, 用户根据图形向导的提示进行操作, 将查询结
果关到 Microsoft Graph中制作图表 。
把查询结果用图形的方式显示出来虽然是一种比
较直观的显示方式, 但它要求在查询结果中必须包
含有用于分类的字段和数值型字段 。 另外, 表越大
图形向导处理图表的时间就越长, 因此用户还必须
考虑表的大小 。
Visual FoxPro
26
7.2.1 视图设计器
1,启动视图设计器
可以利用菜单启动视图设计器,
( 1) 在系统菜单中, 选择, 文件, 中的, 新建, 选
项, 打开, 新建, 对话框 。
( 2) 选择, 视图, 单选按钮, 再单击, 新建文件,
按钮, 在打开视图设计器的同时, 还将打开, 添加
表或视图, 对话框 。
( 3) 将所需的表添加到视图设计器中, 然后单击
,关闭, 按钮 。
? 使用命令也可以启动视图设计器, 此时可在命令
窗口键入如下命令,Create View。
7.2 视图设计
Visual FoxPro
27
使用命令启动视图设计器要 注意 的是:与查询
是一个独立的程序文件不同, 视图不能单独存在,
它只能是数据库的一部分 。 在建立视图之前, 首先
要打开需要使用的数据库文件 。
2,视图设计器
视图设计器的窗口界面和查询设计器基本相同, 不
同之处为视图设计器下半部分的选项卡有 7个, 其
中的 6个其功能和用法与查询设计器完全相同 。 这
里介绍一下, 更新条件, 选项卡的功能和使用方法 。
单击, 更新条件, 选项卡 。 该选项卡用于设定更
新数据的条件,
Visual FoxPro
28
“更新条件”选项卡
Visual FoxPro
29
( 1) 表 。 列表框中列出了添加到当前视图设计器中
所有的表, 从其下拉列表中可以指定视图文件中允
许更新的表 。 如选择, 全部表, 选项, 那么在, 字
段名, 列表框中将显示出在, 字段, 选项卡中选取
的全部字段 。 如只选择其中的一个表, 那么在, 字
段名, 列表框中将只显示该表中被选择的字段 。
( 2) 字段名 。 该列表框中列出了可以更新的字段 。
其中标识的钥匙符号为指定字段是否为关键字段,
字段前若带对号 ( √) 标志则该字段为关键字段;
铅笔符号为指定的字段是否可以更新, 字段前若带
对号 ( √) 标志则该字段内容可以更新 。
Visual FoxPro
30
( 3) 发送 SQL更新 。 用于指定是否将视图中的更新
结果传回源表中 。
( 4) SQL WHERE子句 。 用于指定当更新数据传回
源数据表时, 检测更改冲突的条件 。
( 5) 使用更新, 指定后台服务器更新的方法 。 其中
,SQL DELETE然后 INSERT”选项的含义为在修
改源数据表时, 先将要修改的记录删除, 然后再根
据 视 图 中 的 修 改 结 果 插 入 一 新 记 录 。, SQL
UPDATE”选项为根据视图中的修改结果直接修改
源数据表中的记录 。
Visual FoxPro
31
7.2.2 建立视图
1,单表视图
,学生, 表是由多个字段组成的, 如果只关心
学号, 姓名, 性别和专业号字段, 就可以创建一个
视图来进行操作 。
2,多表视图
学生管理数据库中的选课表, 对于一般用户来讲,
是无法使用的, 因为学号和课程号都是采用代码方
式, 所以有必要使用视图方式进行透明性操作 。 希
望在操作过程中看到学号时, 知道其学生名字, 看
到课程号时, 知道其课程名称 。
3,视图参数
在利用视图进行信息查询时可以设置参数, 让用
户在使用时输入参数值 。
Visual FoxPro
32
7.2.3 使用视图更新数据
更新数据是视图的重要特点, 也是与查
询最大的区别 。 使用, 更新条件, 选项卡
可把用户对表中数据所做的修改, 包括更
新, 删除及插入等结果返回到数据源中 。
Visual FoxPro
33
7.2.4 视图的 SQL语句
视图文件既可以通过, 视图设计器, 来创建和修
改, 也可以利用命令方式来操作 。
1,创建视图
CREATE SQL VIEW[<视图文件名 >][REMOTE]
[CONNECTION < 联接名 >[SHARE\] |
CONNECTION <ODBC数据源 >]
[AS SQL SELECT命令 ]
按照 AS子句中的 SELECT SQL命令查询信息, 创建本
地或远视的 SQL视图 。
Visual FoxPro
34
2,维护视图
视图的维护主要包括对视图的重命名, 修改和删除等操作 。
( 1)
命令格式是:
RENAME VIEW<原视图文件名 >TO<目标视图文件
名 >
该命令重命名视图 。
( 2)
命令格式是:
MODIFY VIEW <视图文件名 >\[REMOTE\]
该命令打开, 视图设计器, 修改视图 。
( 3)
DELETE VIEW <视图文件名 >