在我的程序中我发送SQL查询动态到我的报告(Jasper Reports),但问题是sql查询动态工作只是在主DataSet中用于报告,不能在子DataSet中用于表或jasper中的列表报告:
有没有办法让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();
}