互联网服务商业智能color

JAVA报表工具中更为动态的SQL查询

在用Java报表工具查询数据时,经常会遇到查询条件不定的情况,例如参数过滤列是动态变化的:有时想用A列进行过滤,有时想用B列进行过滤。在FineReport报表中,可以将整个查询条件作为参数传入sql中,查询出对应的数据,定义形式如:SELECT * FROM [TableName] ${Condition},即把整个where语句作为动态的参数。

1. 新建报表

2. 定义数据集

    新建数据库查询ds1,输入SQL:SELECT * FROM STSCORE ${Condition}

  

3. 模板设计


如下设计报表

  

数据列设置如下表


[td=1,1,60]

单元格

[td=1,1,60]

数据集

[td=1,1,96]

数据列

[td=1,1,309]

属性


[td=1,1,60]

A4

[td=1,1,60]

ds1

[td=1,1,96]

ClassNo

[td=1,1,309]

默认


[td=1,1,60]

B4

[td=1,1,60]

ds1

[td=1,1,96]

Sex

[td=1,1,309]

默认


[td=1,1,60]

C4

[td=1,1,60]

ds1

[td=1,1,96]

Name

[td=1,1,309]

默认


[td=1,1,60]

D3

[td=1,1,60]

ds1

[td=1,1,96]

Course

[td=1,1,309]

从左向右扩展,其余默认


[td=1,1,60]

D4

[td=1,1,60]

ds1

[td=1,1,96]

Grade

[td=1,1,309]

汇总求和,其余默认


4. 定义参数界面

    点击参数设计,参数界面布局如下

  

5. 保存模板并预览

    保存模板,点击设计器分页预览,输入动态的查询条件如:Where ClassNo='Class1',便可查询出数据,效果如下图:

文章转自:http://blog.vsharing.com/fanfanzheng/A1298397.html

参与1

0同行回答

“答”则兼济天下,请您为题主分忧!

提问者

wsff
软件开发工程师南京帆软
评论181

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2010-12-09
  • 关注会员:1 人
  • 问题浏览:2108
  • X社区推广