gpt4 book ai didi

java - Birt 报告参数允许多个值

转载 作者:行者123 更新时间:2023-11-29 05:19:28 24 4
gpt4 key购买 nike

我创建了一个参数类型列表框,我可以在其中选择多个值。我想在数据集中使用这个参数。我曾经使用 StoredProcdureName(?,?) 作为 SP 的参数接受其他数据集中的值。此过滤器的问题在于,如果我选择一个或多个值,它会显示选择,但在传递给 sp 时它只发送一个值。我该如何处理?

最佳答案

你至少应该把你的存储过程贴出来,这样我们才能看到这个参数是如何使用的。多值参数由 BIRT 作为 java 数组处理,这不是存储例程可识别的数据类型。这就是为什么你只得到第一个项目。

因此假设此参数是“IN”子句中的 SQL 过滤器,我们需要将其作为逗号分隔的字符串传递给存储过程。

将您的dataset 参数声明为字符串,不要将其链接到report 参数,而是根据report 参数设置默认值表达式。在此示例中,“myMultivalueParam”代表数据库中的一个数字字段:

params["myMultivalueParam"].value.join(",");

如果“myMultivalueParam”代表一个字符串,我们需要添加引号:

params["myMultivalueParam"].value.join("','");

然后在您的存储过程中使用这个逗号分隔的字符串。

关于java - Birt 报告参数允许多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25361097/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com