jasper报告,多选查询复选框类型参数显示已发生错误。请联系您的系统管理员。 (5321)

时间:2015-05-14 05:44:14

标签: jasper-reports

我正在使用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时,它对我来说很好。可能是什么问题?

1 个答案:

答案 0 :(得分:0)

删除IN ..周围的()

             

$ X {IN为你做这件事。

我经常这样做              

就这样,当我构建我的SQL时,我知道我有一个有效的where子句。