01 2 1 年第3 期桂林航天工业高等专科学校学报( 3 总第6 期) J NA
01
2 1 年第 3 期 桂林航天工业高等专科学校学报
( 3
总第 6 期) J NA
OUR L OFGU L N C L E E O A R S A ET CHN L G
II O L G F E OP C E O O Y 计
算机技术及应用
高校学生管理系统中组合查询的设计与实现
*
李传华 梁毅
(广西师范大学 研究生学院,广西 桂林 5 1 0 )
404 摘 要
根据组合查询的条件,将组合查询与字段选取有机结合, l
o eB i e
通过 设 置 数 据 过 滤 等 方 法, 应 用 P
w r u dr
并
中动态生成数据窗口、游标等功能,用较少的程序代码实现了复杂的查询功能。
关键词 组合查询;数据窗口;o eB i e ;
l
P w r u dr 字段选取
中图分类号: P 1
T 31 A
文献标志码: 文章编号: 0-0 3(0 1)30
1-3
0
1 91 3 2 1 0-3 10
/
在信息系统开发中,特别是在设计 C S 模式下数据库
o eB i e
l
使用方便快捷的基 础 上, 助 P
w r u dr 提 供 的 数 据 窗
借
应用程序时,需对数据进行大量查询,因此灵活快捷的信息 口,特
别是动态生成数据窗口等功能,用较少的程序代码实
查询无疑是开发人员和用户所追求的主要目标之一。常用 现了
这一功能,有一定的实用价值和参考价值。
的查询有一种简单模式,就是建立一个查询模块,列出用户
可能用到的每一个查询条件,然后编写代码进行控制,再由
1 查询窗口的设计
最
用户输入或选择其中 某 个 条 件, 后 检 索 并 显 示 出 满 足 给
1
1. 组合条件
使
定条件的数据记录。 虽 然 这 种 查 询 实 现 简 单, 用 也 相 对
组合查询是指用户可以从多种条件中任意选择出几个
方便,可以满足大多数用户的应用需求,但在具体应用中又
条件,
系统查询 出 同 时 满 足 几 个 条 件 的 数 据 记 录。 由
也
有其局限性。所以在 实 际 软 件 开 发 中, 经 常 用 到 另 一 种
此定义可看出,在构建组合查询时,提供什么样的备选组合
查询,即用户可以从多个条件中任意选择其中的几个条件,
来
条件是非常重要的。 一 般 备 选 条 件 的 确 定, 源 于 用 户 的
一
要求系统查询出同时 满 足 这 些 条 件 的 数 据 记 录, 般 称 之
需求,依赖于需求
,应选取那些最具特征性的字段进行
为组合查询。一个组合查询可以实现几个甚至几十个单一
如 n 、r 或
逻辑组合( a d o ) 者 操 作 运 算 符 进 行 组 合 ( > 、
如 <
条件的查询功能,使用起来非常灵活,但组合查询的程序设
和 = 等)。
计相对于单一条件查询的程序设计而言比较复杂。所以若
所谓的组合,是通 过 下 拉 列
的 选 取 进 行 的。 如 果 给
将
能设计出简单的方法 实 现 组 合 查 询, 大 大 提 高 软 件 开 发
那
定的几个查询条件的 下 拉 列
表 中 有 若 干 个 项, 么 就 可 以
的效率,缩短软件的开发周期。另一方面,查询仅仅是一种
得到很多种查询组合。但事实上在这些组合中有很多是无
获取信息的手段,使用查询者更关注的是查询的结果,而固
意义的,因此,有意义的组合需满足一定 的 条 件。 假 定 P1 ,
若
定模式的查询只能得 到 固 定 字 段 下 的 相 关 信 息, 能 将 组
…… n
P2 , P 分别是按某种等级关系(一般是范围)排列的 具
将
合查询与字段选取 有 机 地 结 合, 极 大 地 方 便 用 户。 同 时
体条件,下面仅以选取 P 、 j (? ) 个 条 件 为 例 说 明,
i P i j 两
其
在查询时尽可能地让用户进行选择而不是直接输入查询条
他与此同。
件,将大大提高界面的友好性,使查询更加有效和迅速。
1 如果 P 、 j 满 足: i ?P ? ? , i、 j 的 组 合 是 有
() i P P P
P
1-4] 通 用 查 询 进
现有实 现 查 询 的 方 法 很 多, 献 [
文 对 j
意义的。
行了研究,提出多种实现 查 询 的 方 法, 献 [ ] 此 基 础 上
文 5 在
增加了通用字段选择功能, 献 [ 2 如果 P 、 j 满 足: i ?P , P ?P =P , P 、
() i P P
文 6-7] 出 一 种 快 速 实 现
提 j 则 i j i 即: i
组合查询的编程方法, 这 些 方 法 一 般 都 是 以 修 改 程 序 中
但 P 的组合完全等价于单独的 Pi。
j
查询数据的核心部分 S L 语句为主, 3 如果 P 、j 满 足:i ?P = ? , P ?P ? …… ?
() i P P 则 1
Q 需要大量的程 序 代 码
j 2
来实现 S L C 语句的字符串处理工 作, 需 要 很 多 校 验
EE T 还 P =? 。
n
S L C 语句合 法 性 的 代 码。 另 一 种 方 法 是 让 用 户 直 接
E E T 2 ()
对于满足条件( )3 的 组 合 查 询, 选 条 件 项 间 存 在
被 输入 S L 语句
Q ,
[]
7
但
这样编 程 相 对 较 为 简 单, 却 要 求 用 户 等价关系或某种包含关系,理论上,具有真包含关系项的组
具备较高的专业知识,在实际编程中也很少用,所以寻找一 合,只选取范围小的项进行查询,而对于交集为空的项不选
种能同时兼顾两者的实现方法也是非常有意义的。 取即可,
因
但不便于具 体 操 作, 为 往 往 范 围 越 小 的 条 件 中,
本文结合《 的 将
研究生 管 理 系 统》 开 发, 组 合 查 询 与 字 包含的项越多,那么用户在选某一具体项时,花费的时间也
段选取有机地结合。在力求实现方便简洁、 在
查询有效迅速、 可能越长。为解决这 一 问 题, 具 有 这 种 关 系 的 相 关 项 之
* 作者简介: 1 8- , 湖北潜江人。副主任,
李传华(9 4 ) 男, 硕士。研究方向:基础数学。
1
31