PostgreSQL函数中的多值参数

时间:2012-10-23 11:42:30

标签: jasper-reports

我正在使用 PostgreSQL 功能:

func(timestamp,timestamp,Integer[],varchar[])

我想设计一个 JasperReports 报告来从该函数中获取数据。为此,我创建了类型列表的参数以从用户获取输入并将其作为 varchar 数组传递。

为此,我尝试使用以下查询:

select * from func($P{interval_start}::timestamp,$P{interval_end}::timestamp,array[$P!{idParameter}],array[$P!{usersParameter}])

但是当我运行报告时,它会出现column user1(passed from parameter) does not exist等错误。

我也尝试过:

select * from func($P{interval_start}::timestamp,$P{interval_end}::timestamp,array[$P!{idParameter}],array[$P{usersParameter}])

但它说:

 Compiling to file... /home/Prashant/Desktop/jasper-report/report2.jasper
net.sf.jasperreports.engine.design.JRValidationException: Report design not valid : 
1. Parameter type not supported in query : usersParameter class java.util.Collection 
at net.sf.jasperreports.engine.design.JRAbstractCompiler.verifyDesign(JRAbstractCompiler.java:258)
at net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCompiler.java:140) 
at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:212) 
at net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(JasperCompileManager.java:128) 
at com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:516) 
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572)    
  at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997) 
Compilation running time: 73!

请建议如何将字符串数组从 iReport 传递给 PostgreSQL 函数?

0 个答案:

没有答案