我正在使用jasper报告6.这是我的jrxml
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="TestTestMultiQuery" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="90abb488-1239-4b84-865e-291aa3094758">
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="mysql_db"/>
<parameter name="source" class="java.util.Collection"/>
<parameter name="p_source" class="java.lang.String" isForPrompting="false">
<defaultValueExpression><![CDATA[(($P{source}.isEmpty() && $P{source}==null)?"":$P{source}.toString().replaceAll("[\\[\\]]", "'").replaceAll(", ", "', '"))]]></defaultValueExpression>
</parameter>
<queryString>
<![CDATA[select id,title,creator_id from need n where ($X{IN,n.source,p_source})]]>
</queryString>
<field name="id" class="java.lang.Long">
<fieldDescription><![CDATA[]]></fieldDescription>
</field>
<field name="title" class="java.lang.String">
<fieldDescription><![CDATA[]]></fieldDescription>
</field>
<field name="creator_id" class="java.lang.Long">
<fieldDescription><![CDATA[]]></fieldDescription>
</field>
<background>
<band splitType="Stretch"/>
</background>
<detail>
<band height="125" splitType="Stretch"/>
</detail>
</jasperReport>
这里我的 source param是非必需参数。在哪里我运行这个报告给了我An error has occurred. Please contact your system administrator. (5321)
当我制作manditory field时,它对我来说很好。可能是什么问题?
答案 0 :(得分:0)
删除IN ..周围的()
$ X {IN为你做这件事。
我经常这样做
就这样,当我构建我的SQL时,我知道我有一个有效的where子句。