Java 未在指定的日期范围内获取Jasper报告
此代码或查询中是否存在语法错误,因为我没有获得所需的报告?我已经用JDatechoosr创建了一个JFrame。当我选择日期并单击“查看报告”时,当我知道指定日期范围内有数据时,它会给我一个空报告。我正在使用MYSQL数据库和Netbeans。请帮帮我Java 未在指定的日期范围内获取Jasper报告,java,mysql,jasper-reports,Java,Mysql,Jasper Reports,此代码或查询中是否存在语法错误,因为我没有获得所需的报告?我已经用JDatechoosr创建了一个JFrame。当我选择日期并单击“查看报告”时,当我知道指定日期范围内有数据时,它会给我一个空报告。我正在使用MYSQL数据库和Netbeans。请帮帮我 try{ JasperDesign jd = JRXmlLoader.load("Purchase.jrxml"); String sql = "select * from purchase where purch
try{
JasperDesign jd = JRXmlLoader.load("Purchase.jrxml");
String sql = "select * from purchase where purchase_date between "
+ "'"+DateChooser_frm.getDate().toString()+"' and'"+DateChooser_to.getDate().toString()+"'";
JRDesignQuery query = new JRDesignQuery();
query.setText(sql);
jd.setQuery(query);
JasperReport jr = JasperCompileManager.compileReport(jd);
JasperPrint jp = JasperFillManager.fillReport(jr, null,con);
JasperViewer.viewReport(jp,false);
}
catch(JRException ex){
JOptionPane.showMessageDialog(null, ex);
}
catch(Exception ex){
JOptionPane.showMessageDialog(null, ex);
}
您应该首先考虑Mysql的默认日期格式是YYYY-MM-DD HH:MM:SS。因此,如果您没有以这种格式提供日期,您将无法从数据库中获得任何信息。首先设置日期格式以匹配mysql的格式,然后尝试执行查询。您可以使用“SimpleDataFormat”来执行此操作。打印
sql
命令,然后从命令行MySql命令手动调用它。您将看到它是否达到了预期效果。因此,您会发现这是Java问题还是SQL命令无效的问题。@Honza Zidek我怀疑这是mysql默认日期格式的问题。因为我有另一个查询,它获取并显示指定凭证号的报告,并且工作正常。完全正确!那么,MYSQL命令行实用程序不起作用吗?我也会这么想!因此,这不是一个与Java相关的问题,而是一个与SQL相关的问题,您应该从文章中删除所有Java代码。