如何将SQL Query Dynamic从java传递给我的报表的Sub DataSet(Jasper Reports)

时间:2017-07-27 18:16:51

标签: java sql jasper-reports

在我的程序中我发送SQL查询动态到我的报告(Jasper Reports),但问题是sql查询动态工作只是在主DataSet中用于报告,不能在子DataSet中用于表或jasper中的列表报告:

enter image description here

有没有办法让sql查询动态这个发送来自java工作在子数据集中的表或列表?

这个我的代码包含发送到我的报告的sql查询Dynmic(jasper报告)它只在Main DataSet中工作。

try {
    String date1="2017-07-23";
    String date2="2017-07-27";
    Connection con=dbcontt.getconction();
    String sql="SELECT `name_hazj`, `sex_hazj`, `age_hazj`, `id_card_hazj`, `date_hazj` FROM `sike_hajaz_list` WHERE `date_hazj` BETWEEN '"+date1+"' AND '"+date2+"' ORDER by date_hazj";
    JasperDesign jd=JRXmlLoader.load("bin/report/hajz_between_2.jrxml");
    JRDesignQuery newQuery=new JRDesignQuery();

            newQuery.setText(sql);
            jd.setQuery(newQuery);
            JasperReport js;

            js=JasperCompileManager.compileReport(jd);
            JasperPrint jasperPrint=JasperFillManager.fillReport(js, null,con);

            JasperViewer.viewReport(jasperPrint,false);

} catch (JRException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (ClassNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

0 个答案:

没有答案