0
我与iReport的工作,我把表从数据集,它具有以下查询(查询测试,因为以后我打算添加参数):不要在iReport中处理复杂的查询?
SELECT DISTINCT claseDocIdentidadFallecido AS DOCUMENTO,
IFNULL((SELECT e.numRegistrosReportados FROM estadisticoRD e WHERE e.codOficina='A1B'
AND e.claseDocIdentidadFallecido='CC' AND e.mes=8), 0) AS MES1,
IFNULL((SELECT e.numRegistrosReportados FROM estadisticoRD e WHERE e.codOficina='A1B'
AND e.claseDocIdentidadFallecido='CC' AND e.mes=9), 0) AS MES2,
IFNULL((SELECT e.numRegistrosReportados FROM estadisticoRD e WHERE e.codOficina='A1B'
AND e.claseDocIdentidadFallecido='CC' AND e.mes=10), 0) AS MES3
FROM estadisticoRD e WHERE e.codOficina='A1B' AND e.claseDocIdentidadFallecido='CC'
好吧,我测试iReport的它表明:
但是,当我尝试编译,我得到以下信息:
`
net.sf.jasperreports.engine.design.JRValidationException: Report design not valid :
1. Field not found : claseDocIdentidadFallecido
2. Field not found : IFNULL( (SELECT e.numRegistrosReportados FROM estadisticoRD e WHERE e.codOficina='A1B' AND e.claseDocIdentidadFallecido='CC' AND e.mes=8 ), 0)
3. Field not found : IFNULL( (SELECT e.numRegistrosReportados FROM estadisticoRD e WHERE e.codOficina='A1B' AND e.claseDocIdentidadFallecido='CC' AND e.mes=9 ), 0)
4. Field not found : IFNULL( (SELECT e.numRegistrosReportados FROM estadisticoRD e WHERE e.codOficina='A1B' AND e.claseDocIdentidadFallecido='CC' AND e.mes=10 ), 0)
at net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCompiler.java:153)
at com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:512)
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572)
at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997) `
那么,我究竟做错了什么?
为什么?,你能更具体吗? –
这是因为你使用claseDocIdentidadFallecido作为一个字段,你可以搜索XML代码,否则发布XML代码的报告? – Sharad
为什么不把你的查询粘贴到文本字段中,然后点击'Read Fields'按钮?这样你就可以知道你的查询是否正常工作。此外,你是否先检查你的查询是否在MySQL Workbench中工作? – Rachcha