iReport - 从存储过程中读取字段时为Nullpointer

时间:2013-11-21 08:47:09

标签: jasper-reports ireport

我创建了一个 MySql 存储过程,当单击“刷新预览数据”时,它会在Toad MySql和“报表查询”窗口中执行精细和显示的数据。

点击 iReport 中的“阅读字段”按钮,我收到消息'错误:null'。

以下是日志文件中写的异常

java.lang.NullPointerException at 
com.jaspersoft.ireport.designer.data.ReportQueryDialog.recursiveInterpreter
(ReportQueryDialog.java:2579) at   
com.jaspersoft.ireport.designer.data.ReportQueryDialog$FieldReader.run
(ReportQueryDialog.java:773)

在报告查询窗口中编写的查询

CALL SP_REPORTS_CONTACT_DETAILS('fc0f18eb-e201-4e77-8f18-ebe2019e778c', 
  'd07318fb-2e1a-42ab-b318-fb2e1a42111')

我正在使用 iReport 5.5 MySql 5.5

2 个答案:

答案 0 :(得分:1)

If you change query in existing report, you have to remove all fields and parameters without default expression and then read fields from new query. That worked for me.

答案 1 :(得分:0)

在JDK 1.7.60上运行iReport 5.6.0,面临同样的问题

有趣的是,如果我创建一个新报告并在那里粘贴查询,它将检索所有字段。

构建新报告不是一个解决方案,所以这里有点破解:

  1. 创建新报告
  2. 粘贴查询
  3. 检索所有字段
  4. 复制新报告中的字段并粘贴到所需的报告中