如何在jasper报表的参数中编写SQL查询?

时间:2014-04-23 03:25:17

标签: sql jasper-reports report

在iReport中,我想将sql查询放在我的参数表达式编辑器中,如下所示。

(!$ P {securityGrading} .equals(“0”))? “SecurityGrading-”+“从[KRISADMIN]中选择描述.SecurityLevel,其中Level = $ P {securityGrading}”:“SecurityGrading-默认为全部”

但是iReport无法执行我的SQL查询。我知道它不能识别我的sql查询,因为我使用的是双引号,但如何才能使我的查询起作用呢?

1 个答案:

答案 0 :(得分:0)

我看到的问题是添加了参数值。

正确的方式是 如果Level Column是整数,那么 -

(!$ P {securityGrading} .equals(" 0"))? " SecurityGrading-" +"从[KRISADMIN] .SecurityLevel中选择描述,其中Level =" + $ P {securityGrading}:" SecurityGrading-默认为全部"

如果Level列的类型为varchar

(!$ P {securityGrading} .equals(" 0"))? " SecurityGrading-" +"从[KRISADMIN] .SecurityLevel中选择描述,其中Level ='" + $ P {securityGrading} +"'" :" SecurityGrading-默认为全部"

您需要注意ireport中参数提供的动态值需要找到合法的SQL。

希望这会有所帮助。