动态查询在人事管理系统中的应用

点赞:33729 浏览:156918 近期更新时间:2023-12-21 作者:网友分享原创网站原创

[摘 要]本文通过对人事管理系统中自定义查询原理的分析,详细介绍了一种对所有字段可任意指定其条件,并可任意控制显示的字段及其顺序,实现动态查询的方法.

[关 键 词]数据库多条件动态SQL查询

在数据库管理系统中查询不可缺少,现有的面向用户的查询系统大多是建立在固定的SQL查询语句上,查询时根据用户给定的值进行查询,实现比较简单.但用户的要求往往是多种多样的,当用户提出的查询要求需要多基本表连接时,就需要用户事先指定连接关系;而有时应用系统需求查询条件是动态的,由用户来实现相对较难.为此本文通过探讨其设计原理与实现过程,对学校人事管理系统中的自定义查询功能进行分析,提出了一种能根据用户需求,可任意控制显示的字段及其顺序,并可对所有字段任意指定条件,动态生成SQL查询语句,从而实现数据库动态查询的方法.

一、原理分析

1.设计原理

在查询过程中普通用户通常对于SQL语法比较陌生,基于这一点,我们将用户查询需求和SQL的生成分离开来,对于一般不熟悉数据库语言的用户更可让其集中注意力提出查询需求,而由系统去完成用户需求与SQL语句相应的转换.用户只需对用户表达式进行操作,无需与数据库打交道,由系统建立用户表达与数据库查询语句之间的联系,对用户的查询需求进行转换,动态生成可执行的标准SQL语句,并完成查询操作.

在动态查询程序设计过程中需要考虑其实用性,友好性,完备性.因此,在动态查询的设计时使用“与”、“或”、“非”3种逻辑关系可以将查询条件进行组合,使用括号可以改变逻辑关系之间的优先关系,另外我们还使用“包含”,“等于”等6种比较符,只要进行合理的条件组合就能查出符合条件的记录.

动态查询在人事管理系统中的应用参考属性评定
有关论文范文主题研究: 数据库相关论文范文 大学生适用: 学校学生论文、本科论文
相关参考文献下载数量: 77 写作解决问题: 如何写
毕业论文开题报告: 论文任务书、论文目录 职称论文适用: 技师论文、职称评副高
所属大学生专业类别: 如何写 论文题目推荐度: 优秀选题

2.实现过程

(1)输入查询条件.查询条件包括查询字段、比较符和字段内容.

(2)生成条件.当用户输入完查询条件时点击按钮使查询条件显示在查询条件显示栏中,同时查询条件也写入用于查询的字符串中.

(3)显示查询条件.在一个列表显示框中直接显示用户输入的复合查询条件.使用列表框的好处是如果查询条件已满,则激活右边的滚动块显示更多的查询条件.

(4)加入条件关系.用户如果想执行多条件查询,条件之间可以用“与”“或”“非”等逻辑关系连接,还可以使用括号将条件进行组合.

(5)查询操作.激活显示结果窗口时,执行生成的SQL语句,将结果置于DBgrid数据库表格中.

二、案例实现

1.查询窗口设计

为了实现交互操作的灵活方便,定义frm_sql和frm_exe窗口对象,分别用于生成动态SQL查询语句,窗口界面设计如下图.显示查询执行结果的窗体主要由一个DBgrid_sql数据库表格组成,这里从略.

图中主要控件及说明如下:

Cmb_yh为下拉列表框,功能为实现多条件间的“与”或“或”;Edt_va文本框功能为输入查询条件值;Btn_tj_add按钮功能为添加查询条件;Che_Lst_sql复选列表框功能为设置查询、显示字段;Btn_od_ad按钮功能为添加排序依据;Btn_display按钮功能为执行动态生成的SQL查询语句,并激活显示查询结果窗口.

2.具体实现过程

程序的算法主要是变量tj、lb、px、sql是由窗体输入的值产生的.变量说明如下:

tj用来存储动态生成的查询条件;lb用来存储查询字段列表;px用来存储生成的查询结果排序依据子句;sql用来存储SQL查询语句字符串,即“select”+lb+tj+px,如图所示则sql为:“selectdw,ks(此处多个字段略)where(zc等于‘讲师’)and(xl等于’本科’)and(dwlike‘%机电%’)orderbycsrq”.

在Btn_display显示按钮中激活显示结果窗口,执行生成的SQL语句,并将结果记录集置于DBgrid_sql数据库表格控件中.


三、结束语

本程序通过简单的窗口界面点击,生成多条件自由组合、显示字段及顺序任意定义的、动态SQL查询语句,从而实现动态查询,极大地简化了查询操作、提高了查询的灵活性,使用户把注意力更多集中在查询条件的设计上.用户也可根据需求,方便地将本程序思想移植到其他语言或其他的查询应用系统中.