未在指定日期范围内获取Jasper报告

时间:2014-05-02 23:45:24

标签: java mysql jasper-reports

此代码或查询中是否存在语法错误,因为我没有收到所需的报告?我用JDatechoosr创建了一个JFrame。当我选择日期并单击查看报告时,它会给我空报告,而我知道在指定的日期范围内有数据。我正在使用MYSQL DB和Netbeans。请帮助我。

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);
    }

1 个答案:

答案 0 :(得分:1)

首先应考虑到Mysql的默认日期格式为YYYY-MM-DD HH:MM:SS。因此,如果您不以此格式提供日期,则无法从数据库中获取任何内容。首先设置日期格式以匹配mysql的格式,然后尝试执行查询。您可以使用' SimpleDateFormat'这样做。