ireport踩坑记录:动态参数

Posted 安之ccy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ireport踩坑记录:动态参数相关的知识,希望对你有一定的参考价值。

动态参数语法:$P!IN_PARAMS

静态参数的话,是这样的:$PIN_PARAMS,比动态参数语法 少了一个感叹号
如果我们原本的语句写这样的:

select * from mytable where id = #id; // id为入参

在ireport里,定义好入参IN_ID后,就可以在语句里这样写(注意大写):

select * from mytable where id = $PIN_ID

从前台获取入参后,就会拼接上去
比如前台输入1,语句就会变成

select * from mytable where id = 1

静态参数是必须要传的,如果前台不给IN_ID赋值,语句就会变成这样:

select * from mytable where id = 

就会报错



动态参数更灵活一些,不一定要使用这个参数,但使用这个参数时,传入的是sql语句
语句依然是这样:

select * from mytable where id = #id; // id为入参

改成动态参数:

select * from mytable $P!IN_ID

使用IN_ID参数时,输入where id = 1,就会拼接成:

select * from mytable where id = 1

不使用时,就直接是:

select * from mytable

重点是,使用动态参数,这个参数必须设置默认值,一般可以设置为空字符串,否则会报错,提示sql命令没有正常结束:

以上是关于ireport踩坑记录:动态参数的主要内容,如果未能解决你的问题,请参考以下文章

ireport踩坑记录:动态参数

ireport踩坑记录:动态参数

ireport 如何实现固定行、动态列的报表?

ubuntu---记录.动态库默认路径的踩坑

ireport list参数设置

JAVA踩坑记录Feign调用服务时,get请求参数异常