Java 为jasper报告传递双参数

Java 为jasper报告传递双参数,java,jasper-reports,Java,Jasper Reports,我正在使用参数制作一份报告: 开始日期,结束日期和类型(可以是:输入、输出或输入和输出) 在我尝试获取包含输入和输出的报告之前,一切都正常 我试过很多方法,但都没有结果 报告中的查询: 爪哇: 有人能帮我吗?您需要使用该功能 在您的查询中: and he.tipo=$P!{tipmov} 注意$p语法 在Java代码中,您有: if (tipoMov.equalsIgnoreCase("entrada")) { param.put("tipmov", "'entrada'" ); }

我正在使用参数制作一份报告:
开始日期
结束日期
类型
(可以是:输入、输出或输入和输出)

在我尝试获取包含输入和输出的报告之前,一切都正常

我试过很多方法,但都没有结果

报告中的查询:

爪哇:

有人能帮我吗?

您需要使用该功能

  • 在您的查询中:

    and he.tipo=$P!{tipmov}
    
    注意
    $p语法

  • 在Java代码中,您有:

    if (tipoMov.equalsIgnoreCase("entrada")) {
        param.put("tipmov", "'entrada'" );
    } else if(tipoMov.equalsIgnoreCase("saida")) {
        param.put("tipmov", "'saida'" );
    } else if(tipoMov.equalsIgnoreCase("entradaesaida")) {
        param.put("tipmov", "'entrada' or he.tipo='saida'");
    }
    
    请注意,每个参数值都有单引号转义


  • 但有一件事我没有打电话进来!关于p{}。。。永远不会有我想要的方式或做一个三元。。。。在我放p之后!{}一切都很酷。

    你的问题是什么?我只通过输入得到结果,通过输出求和得到结果,但无法通过输入和输出得到结果。。。你会怎么做?我只用输入得到结果,用输出和得到结果,但我不能用输入和输出得到结果。。。您将如何做到这一点?可能需要将查询的和部分用括号括起来。试试:
    和(he.tipo=$P!{tipmov})
    看看会发生什么。
    if (tipoMov.equalsIgnoreCase("entrada")) {
        param.put("tipmov", "'entrada'" );
    } else if(tipoMov.equalsIgnoreCase("saida")) {
        param.put("tipmov", "'saida'" );
    } else if(tipoMov.equalsIgnoreCase("entradaesaida")) {
        param.put("tipmov", "'entrada' or he.tipo='saida'");
    }