JAVA报表工具中更为动态的SQL查询(FineReport)
在用Web报表工具查询数据时,经常会遇到查询条件不定的情况,例如参数过滤列是动态变化的:有时想用A列进行过滤,有时想用B列进行过滤。在FineReport报表中,可以将整个查询条件作为参数传入sql中,查询出对应的数据,定义形式如:_select* FROM [TableName] ${Condition},即把整个where语句作为动态的参数。
1. 新建报表
2. 定义数据集
新建数据库查询ds1,输入SQL:_select* FROM STSCORE ${Condition};
![Web报表工具数据库数据集](http://www.finereport.com/forumimages/dynamic_sql1.jpg)
3. 模板设计
如下设计报表
![Web报表工具模板设计](http://www.finereport.com/forumimages/dynamic_sql2.jpg)
数据列设置如下表
![Web报表工具数据列设置](http://www.finereport.com/forumimages/dynamic_sql5.png)
4. 定义参数界面
点击参数设计,参数界面布局如下
![Web报表工具参数界面](http://www.finereport.com/forumimages/dynamic_sql3.jpg)
5. 保存模板并预览
保存模板,点击设计器分页预览,输入动态的查询条件如:Where ClassNo='Class1',便可查询出数据,效果如下图:
![Web报表工具预览](http://www.finereport.com/forumimages/dynamic_sql4.jpg)
研究FineReport为代表的web报表工具