在iReport中,我想将sql查询放在我的参数表达式编辑器中,如下所示。
(!$ P {securityGrading} .equals(“0”))? “SecurityGrading-”+“从[KRISADMIN]中选择描述.SecurityLevel,其中Level = $ P {securityGrading}”:“SecurityGrading-默认为全部”
但是iReport无法执行我的SQL查询。我知道它不能识别我的sql查询,因为我使用的是双引号,但如何才能使我的查询起作用呢?
答案 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。
希望这会有所帮助。