首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

关于jasper+ireport有关问题

2012-07-28 
关于jasper+ireport问题我用ireport做了一个报表文件,里面有一个sql查询语句,但我希望查询条件的数量不是

关于jasper+ireport问题
我用ireport做了一个报表文件,里面有一个sql查询语句,但我希望查询条件的数量不是固定的,在程序里输了几个条件,查询语句就是几个条件。怎样传递参数?
目前我知道可以把整个查询语句作为一个参数,但这样要在程序中拼接sql,而且sql中的查询条件不能再用占位符的方式,感觉很不正统,是否有更专业的做法?求指点。。。

[解决办法]
判断条件值是否为空 拼sql呗
[解决办法]
你可以将所有的参数封装成一个Map

将sql写成:

select * from table where 1= 1
至于为什么要1=1 因为你可能一个参数也不传,或者只传一个,解决where在那里append的问题
定义一个List<Object> list = new ArrayList<Objct>();来存放值
然后在拼装SQL的地方,用
if(map.get("name") != null){
sql.append(" and name = ? ")
list.add(map.get("name"));
}

剩下的你应该懂的

热点排行