【发布时间】:2013-06-11 03:34:28
【问题描述】:
我基于此请求的报告:
select "Annee" ,"Diam", sum("Consommation") from "Consom_N","CptDim"
where "Annee" >= $P{a1} and "Annee" <= $P{a2}
and "Consom_N"."NumCpt"="CptDim"."NumCpt"and "District"= $P{dst}
and $X{IN, cast("Diam" as character varying), DiamRQn}
group by "Annee","Diam"
order by "Annee"
;
“Diam”字段是一个smallint,问题出在这部分
$X{IN, cast("Diam" as character varying), DiamRQn}
DiamRQn 是控制输入使用的参数,它是来自请求的多项选择, 删除铸造时它说:
PSQLException: ERROR: operator does not exist : smallint = character varying
在 ireport preview 中投射它可以正常工作,但在 jasperserver 上,图表显示“Diam”的所有值,选中和未选中。据我了解,对于 jasperserver,铸造的“diam”始终存在于“DiamRQn”集合中,尽管 ireport 一切正常!
附加信息: 数据库管理系统:postgresql ireport 版本:5.0.1
【问题讨论】:
-
DiamRQn参数的参数类是什么? -
它的 java.util.Collection 我尝试了类 List 和相同的结果,我也厌倦了这个 java.util.Collection
并且没有办法 -
确保参数名称与输入控件的名称相同。如果不是,它可能会抛出错误,但值得检查。
-
您可以为测试做的另一件事是在您的报告中放置一个文本字段并将表达式设置为:
$P{DiamRQn}.toString()。这样您就可以看到输入控件传递给报表的内容。 -
好主意,我会试试的,你对汤姆很有帮助,谢谢
标签: charts jasper-reports ireport jasperserver