简而言之:
我将一个常量字符串传递给子报表,但由于某种原因,null
当它在子报表 SQL 中使用P!{}
语法时,它会获得价值。
更详细地说:
我有两个几乎相同的子报告。我想使用通用子报表,而不是单独定义每个子报表。现在我有了这个带有字符串参数的子报表main_or_side
。这个想法是将值“main”或“side”传递给子报表,然后在 SQL 查询中使用它。
在查询中,参数以这种方式使用:SELECT table.P!{main_or_side}_diagnosis ...
并且应该例如SELECT main_diagnosis ...
在使用参数调用它时产生结果。
当我在 iReports 中预览子报表时,它会提示询问参数,当我输入“main”或“side”时,它会很好地显示报表。现在,当我预览已将其设置为将值new String("main")
作为side_or_main
-parameter 传递的 mainreport 时,它将返回一个错误:
Unknown column 'table.null_diagnosis' in 'field list'
如果我将查询设为静态并添加一个 textField 以显示它的值,main_or_side
则可以很好地显示传递的值。所以值 get 肯定会传递给子报表。P!{main_or_side}
SQL查询内部的计算结果怎么可能是null
?
编辑:
我正在做一些清理并重命名为我的 jrxml 文件的副本,这样我就可以在这里过去的片段。在我删除了一些不相关的元素并进行了一些重命名以使代码与我的描述相匹配之后,它突然开始工作了。
问题仍然存在于原始文件中。如果我找出导致问题的原因,我将尝试查看与修改后的文件相比的差异并在此处发布。