我有一个问题:如何设置参数i JasperReport的报告的默认值?我试过这样的事:
<parameter name="where" class="java.lang.String" isForPrompting="false">
<defaultValueExpression><![CDATA[1 = 1]]></defaultValueExpression>
</parameter>
并将此参数包含在我的queryString:
中<queryString>
<![CDATA[SELECT *
FROM "TABLE"
where $P{where}]]>
</queryString>
但我有一个错误。我也尝试在java中设置这个值,例如1.equals(1),但它仍然不起作用。我必须在此参数中设置一个始终为true的条件。怎么做?
答案 0 :(得分:0)
它不起作用,你尝试构建动态sql。 Jasper不支持动态sql。
我的解决方案:
<parameter name="where" class="java.lang.String" isForPrompting="false">
<defaultValueExpression><![CDATA[1]]></defaultValueExpression>
</parameter>
和查询:
<queryString>
<![CDATA[SELECT *
FROM "TABLE"
where ('1' = $P{where} or any_column = $P{where})]]>
答案 1 :(得分:0)
我已经解决了这个问题。解决方案很简单。我已经做好了一切,<![CDATA[1 = 1]]>
应该被<![CDATA["1 = 1"]]>
取代。第二步是广告&#34;!&#34;在这样的$ P声明之后:where $P!{where}
。
现在一切正常。我希望这能帮助别人。