设为首页 加入收藏

TOP

实现查询条件的保存
2014-11-23 19:43:55 】 浏览:6922
Tags:实现 查询 条件 保存

  任务背景


  面临困难


  所谓的查询条件的保存,乍一听似乎很简单,实际做起来并不容易。最直接的是要和用户关联,因为某个用户输入的查询条件,只能提供给该用户使用,不能让别的用户看见。其次,要考虑和报表模块、查询模块关联,因为同一个用户在不同的报表模块、查询模块里用的查询条件是不同的。另一个要考虑的是查询条件的存储格式,因为不同模块的参数个数、参数名均不相同,所以查询条件的存储格式要能够灵活扩充灵活解析。除了存储格式,还需要考虑存储位置,由于和用户关联,很多人直接想到的是采用cookies来实现,可是由于是WEB应用,客户端的机器可能随时会发生变化,比如用户可能在办公室上网,也可能在家里上网,在家里用另一台机器,于是预先存储的查询条件就没了。另外,由于每一个模块用户都可能存储多个查询条件供选择,cookies 用起来还是不方便。因此,查询条件最好保存到服务器上。 接着,还需要考虑界面上的制作,在原先的参数输入页面上,要提供一个历史查询条件的下拉选项,该下拉选项从服务器存储的查询条件里读取;其次还需要做一个 查询条件是否保存的选项,如果保存,则提供保存名称的编辑框。做好这些之后,服务器端的程序还需要写不少,首先根据客户端的输入情况,判断使用历史查询条件还是使用当前的输入值,如果使用历史查询条件,则到库中读取;如果使用当前的输入值,还需要处理是否保存查询条件。总之,做起来非常麻烦!而所有这些程序还要考虑通用性,否则每个模块写一遍,那不是累死了!基于以上的考虑,建议还是采用快逸报表的参数模板+参数处理类 来实现,简单方便许多,具体步骤描述如下:


  实现步骤


  在参数处理类里,如果读取到需要保存参数值,则将参数值按名字存入一张预先设计的参数值表中,该表的结构为:用户名、报表名、保存名、参数名与值,建表SQL如下:


  CREATE TABLE param (


  userName varchar(100) not null ,


  reportName varchar(100) not null ,


  saveName varchar(100) not null,


  argName varchar(100) not null,


  saveva lue varchar(200) )


  如果用户选择的是历史保存的参数值,那么在参数处理类里,从数据库中取出历史保存的参数值来进行查询。


  编辑特别推荐:


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Rabbit流密码的Java实现 下一篇Java中Properties类的使用

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目