问题描述
- JasperReports+iReport+struts2打印报表
-
在使用JasperReports+iReport+struts2打开报表是,页面报出Jasper Output Error:Error executing SQL statement for : test01 。在action类中的接口代码为:
public void doReportPrintPDF(){
HttpServletResponse response = ServletActionContext.getResponse();
// 加载.jasper文件
File jasperRile = new File(ServletActionContext.getServletContext().getRealPath("/report/report1.jasper"));try{ Class.forName("oracle.jdbc.OracleDriver"); Connection conn= DriverManager.getConnection("jdbc:oracle:thin:@172.19.24.239:1521:NSOA", "JXKHOA", "JXKHOA"); // 构造JasperReport 文件 JasperReport jasperReport = (JasperReport)JRLoader.loadObject(jasperRile.getPath()); // 用数据填充JasperReport文件 JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, null, conn); // pdf导出设置 response.setContentType("application/pdf"); response.setCharacterEncoding("UTF-8"); // 使用JRPdfExproter导出器导出pdf JRPdfExporter exporter = new JRPdfExporter(); // 设置JasperPrintList exporter.setParameter(JRPdfExporterParameter.JASPER_PRINT, jasperPrint); // 设置导出流 exporter.setParameter(JRPdfExporterParameter.OUTPUT_STREAM, response.getOutputStream()); // 开始导出 exporter.exportReport(); }catch(Exception e){ e.printStackTrace(); } }
请各位高手帮看看为什么在页面中报出了Jasper Output Error:Error executing SQL statement for : test01 这个错误。
解决方案
你传的sql有问题,可能是参数test01,肯能你statement写错了
解决方案二:
在模板中的sql配置有问题,或者参数有问题,模板中有个参数叫test01吗
解决方案三:
没有参数呀,我在ireport中点“preview”是可以查询的,sql语句应该没问题呀,就select id,dname,dcode from ct_su_departments where datalevel = 0 and status = 0 这么一句话的
时间: 2024-11-08 19:23:11