Jasper reports iReport Jasper不使用条件语句

Jasper reports iReport Jasper不使用条件语句,jasper-reports,Jasper Reports,我正在使用iReports在我的项目中生成一些报告 我使用这一行用参数填充报告 JasperPrint jasperPrint=JasperFillManager.fillReport(jasperReport,paramMap,conn); 其中jasperReport是jasperReport的一个对象,我有一个Map对象paramMap,它有一个键names conditionals,它携带我想要附加在jasper Report中编写的查询中的条件语句 在没有条件的情况下,查询在报告中工

我正在使用iReports在我的项目中生成一些报告

我使用这一行用参数填充报告

JasperPrint jasperPrint=JasperFillManager.fillReport(jasperReport,paramMap,conn);
其中jasperReport是jasperReport的一个对象,我有一个Map对象paramMap,它有一个键names conditionals,它携带我想要附加在jasper Report中编写的查询中的条件语句

在没有条件的情况下,查询在报告中工作正常

Select * from myTable WHERE 1=1
我的条件带有多个过滤器,我正确地检查了它的生成,并将其附加到我的查询中,并在我的db环境中正确地运行

我用来添加条件的查询给我带来了一点混乱

SELECT * FROM MYTABLE WHERE 1=1 $P{conditionals}

我不确定何时执行此条件以及如何每次运行此条件。

可能重复的$p{conditionals}如果您喜欢字符串sost,请尝试使用prepared语句。使用$P!{conditionals}@PetterFriberg我已经看到了这一点,在我的例子中,我在MAP对象中添加了一个参数conditionals,并将其作为paramMap传递给fillReport函数。此映射包含一个字符串,我想将此字符串添加到JasperReport查询中。Th过滤器来自其他应用程序。希望您已经理解了我的问题。不是真的,在查询选择中,您可以使用字符串替换,也可以使用预处理语句,因为$P{conditionals}不是查询值,您唯一的选择是字符串替换$P!{条件句}