Jasper reports 如何准备数据以传递到$X{}表达式,而不是使用CONCAT SQL

Jasper reports 如何准备数据以传递到$X{}表达式,而不是使用CONCAT SQL,jasper-reports,Jasper Reports,是否可以在$X{}表达式中使用sql的concat函数: ($X{IN,(CONCAT(vtiger_usersAccounts.first_name,' ',vtiger_usersAccounts.last_name)),user) 我有错误,但我如何才能做到这一点?试试这个表达式: ($X{IN,(CONCAT(vtiger_usersAccounts.first_name,' ',vtiger_usersAccounts.last_name)),user) 从$X{IN,name,u

是否可以在$X{}表达式中使用sql的concat函数:

($X{IN,(CONCAT(vtiger_usersAccounts.first_name,' ',vtiger_usersAccounts.last_name)),user)
我有错误,但我如何才能做到这一点?

试试这个表达式:

($X{IN,(CONCAT(vtiger_usersAccounts.first_name,' ',vtiger_usersAccounts.last_name)),user)
从$X{IN,name,user}所在的表中选择CONCATvtiger_usersAccounts.first_name',vtiger_usersAccounts.last_name作为名称 HSQLDB的工作示例:

注意:在这个示例中,我使用了CONCATvalue1、CONCAT“”、value2表达式,而不是您的表达式CONCATvalue1、、value2

您可以在post上找到有关使用$X{}语法的更多信息。

尝试以下表达式:

($X{IN,(CONCAT(vtiger_usersAccounts.first_name,' ',vtiger_usersAccounts.last_name)),user)
从$X{IN,name,user}所在的表中选择CONCATvtiger_usersAccounts.first_name',vtiger_usersAccounts.last_name作为名称 HSQLDB的工作示例:

注意:在这个示例中,我使用了CONCATvalue1、CONCAT“”、value2表达式,而不是您的表达式CONCATvalue1、、value2


您可以在post中找到有关使用$X{}语法的详细信息。

尝试在$X函数中使用分号或管道分隔符,然后将正确解析它:

$X{IN;CONCAT(vtiger_usersAccounts.first_name,' ',vtiger_usersAccounts.last_name);user)

另一件要注意的事情是,如果您在iReport中使用此功能,则每当您在Gui中更改报告时,比如您调整列的大小,sql将恢复为逗号分隔符,这似乎是iReport中一个令人讨厌的错误。

尝试在$X函数中使用分号或管道分隔符,然后它将被正确解析:

$X{IN;CONCAT(vtiger_usersAccounts.first_name,' ',vtiger_usersAccounts.last_name);user)

如果您在iReport中使用此功能,还需要注意的另一件事是,每当您在Gui中更改报告时(比如调整列的大小),sql将恢复为逗号分隔符,这似乎是iReport中一个恼人的错误。

尝试此功能时会发生什么?我能够在Oracle中通过一个查询实现这一点:$X{in,GROUP | | | CLASS | | SUBCLASS,full | SUBCLASS}错误:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,了解在第1Alex行的“{IN,CONCATvtiger_usersAccounts.first_name”,“vtiger_usersAccounts.last_name”附近使用的正确语法,在参数的帮助下,prepare expression是什么意思?关于:选择*从选择CONCATfirst_name',last_name作为$X所在表中的名称{IN,name,user}通常我的查询是这样的:trimcase when vtiger_usersPotentials.last_name NOT like then CONCATvtiger_usersPotentials.first_name',vtiger_usersPotentials.last_name else vtiger_groupsPotentials.groupname end='USERNAME'现在我想要输入控件集合中的选定值,而不是USERNAME。尝试时会发生什么?我想It’我的一个查询可以在Oracle中实现这一点:$X{in,GROUP | | | CLASS | | | SUBSCLASS,full | SUBSCLASS}错误:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL语法有错误;请查看与您的mysql服务器版本对应的手册,以获取正确的语法{IN,CONCATvtiger_usersAccounts.first_name',vtiger_usersAccounts.last_name'在第1Alex行,借助参数的prepare表达式是什么意思?关于:从SELECT CONCATvtiger_usersAccounts,first_name,last_name作为$X{IN,name,user}所在表中的名称通常我的查询是这样的:trimcase when vtiger_usersPotentials.last_name NOT like then CONCATvtiger_usersPotentials.first_name',vtiger_usersPotentials.last_name else vtiger_groupsPotentials.groupname end='USERNAME'现在我希望从输入控件集合中选择值,而不是USERNAME