在jasper报告中插入查询

问题描述:

是否可以在报告生成期间在IReports / jasper报告中执行插入查询?

Is it possible to execute "insert query" in IReports/jasper reports during report generation?

是的,你可以。您可以在要显示报告时执行查询。这是一个适合我的示例。

Yes you can. You can execute the query when you want to display the report. Here is a sample that works for me.

    try {
        Map parameters = new HashMap();
        connectionString ="jdbc:mysql://localhost/myDb", "myUsername", "myPassword"
        Class.forName("com.mysql.jdbc.Driver");
        Connection conn = DriverManager.getConnection(connectionString);
        PreparedStatement stmt = conn.prepareStatement(query);
        ResultSet rs = stmt.executeQuery();
        JRResultSetDataSource rsdt = new JRResultSetDataSource(rs);

        JasperPrint jp;
        jp = JasperFillManager.fillReport("sourceFileName.jasper", parameters, rsdt);
        JasperViewer jv = new JasperViewer(jp, false);
        jv.setVisible(true);

    } catch (ClassNotFoundException | SQLException | JRException ex) {
        ex.printStackTrace();
    }