Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将日期作为参数传递给jasper报告_Java_Jasper Reports - Fatal编程技术网

Java 如何将日期作为参数传递给jasper报告

Java 如何将日期作为参数传递给jasper报告,java,jasper-reports,Java,Jasper Reports,我正在尝试创建以开始日期和结束日期为参数的JR报告 查询: 从emp中选择*,其中加入日期介于$P{frm_date}和$P{to_date} 守则: datefrom_Date=dt_from_Date.getDate(); Date to_Date=dt_to_Date.getDate(); java.sql.Date frm_dte=new java.sql.Date(from_Date.getTime()); java.sql.Date to_dte=new java.sql.Date

我正在尝试创建以开始日期和结束日期为参数的JR报告

查询:

从emp中选择*,其中加入日期介于$P{frm_date}和$P{to_date}
守则:

datefrom_Date=dt_from_Date.getDate();
Date to_Date=dt_to_Date.getDate();
java.sql.Date frm_dte=new java.sql.Date(from_Date.getTime());
java.sql.Date to_dte=new java.sql.Date(to_Date.getTime());
试一试{
HashMap=newHashMap();
地图放置($P{frm_date}),frm_dte);
把($P{to_date})放在地图上;
JasperPrint jp=JasperFillManager.fillReport(is、map、con);
JRViewer jv=新的JRViewer(jp);
JFrame jf=新JFrame();
jf.getContentPane().add(jv);
jf.validate();
jf.setVisible(真);
jf.设置尺寸(新尺寸(800600));
设置位置(300100);
setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
}捕获(JREX异常){
例如printStackTrace();
}
我们可以将两个参数传递给表中的同一列吗?例如:

map.put("joining_date", frm_dte); 
map.put("joining_date", to_dte);

您可以按以下字符串格式类型传递日期

if(from_date!=null)
{
      formattedEndDate=new SimpleDateFormat("yyyy-MM-dd").format(from_date);
}

if(getStartDate()!=null)
{
    formattedStartDate=new SimpleDateFormat("yyyy-MM-dd").format(to_date);
}

您可以按以下字符串格式类型传递日期

if(from_date!=null)
{
      formattedEndDate=new SimpleDateFormat("yyyy-MM-dd").format(from_date);
}

if(getStartDate()!=null)
{
    formattedStartDate=new SimpleDateFormat("yyyy-MM-dd").format(to_date);
}
你的代码错了

您应按如下方式传递参数:

Map<String, Object> map = new HashMap<String, Object>();
map.put("frm_date", frm_dte);
map.put("to_date", to_dte);
Map Map=newhashmap();
地图放置(“frm_日期”,frm_dte);
地图放置(“截止日期”,截止日期);
您不需要将
p${}
添加到参数的名称中


JasperReports分发包中有很多样本

您可以查看更多详细信息。

您的代码错误

private JasperPrint generateReport() {
    Connection conn = null;
    JasperPrint myJPrint = null;
    try {

        conn =yourconnectionName;

        // parameters to be passed to the report
        Map<String, Object> params = new HashMap();

        // Loading my jasper file
        JasperDesign jasperDesign = null;
        JasperReport jasperReport = null;

        params.put("REPORT_DIR",yourClassName.class.getClassLoader()
                        .getResource("yourJasperFileName.jrxml").toString().replace("yourJasperFileName.jrxml", ""));
        jasperDesign = JasperManager.loadXmlDesign(yourClassName.class
                .getClassLoader().getResourceAsStream("yourJasperFileName.jrxml"));
        params.put("joining_date", frm_dte);
         params.put("leaving_date", frm_dte);
        jasperReport = JasperCompileManager.compileReport(jasperDesign);

        /*
         * Filling the report with data from the database based on the
         * parameters passed.
         */
        myJPrint = JasperFillManager.fillReport(jasperReport, params, conn);
        params.clear();

    } catch (JRException ex) {
        ex.printStackTrace();
    }

    return myJPrint;

}
您应按如下方式传递参数:

Map<String, Object> map = new HashMap<String, Object>();
map.put("frm_date", frm_dte);
map.put("to_date", to_dte);
Map Map=newhashmap();
地图放置(“frm_日期”,frm_dte);
地图放置(“截止日期”,截止日期);
您不需要将
p${}
添加到参数的名称中


JasperReports分发包中有很多样本

您可以查看更多详细信息。

私有JasperPrint generateReport(){
private JasperPrint generateReport() {
    Connection conn = null;
    JasperPrint myJPrint = null;
    try {

        conn =yourconnectionName;

        // parameters to be passed to the report
        Map<String, Object> params = new HashMap();

        // Loading my jasper file
        JasperDesign jasperDesign = null;
        JasperReport jasperReport = null;

        params.put("REPORT_DIR",yourClassName.class.getClassLoader()
                        .getResource("yourJasperFileName.jrxml").toString().replace("yourJasperFileName.jrxml", ""));
        jasperDesign = JasperManager.loadXmlDesign(yourClassName.class
                .getClassLoader().getResourceAsStream("yourJasperFileName.jrxml"));
        params.put("joining_date", frm_dte);
         params.put("leaving_date", frm_dte);
        jasperReport = JasperCompileManager.compileReport(jasperDesign);

        /*
         * Filling the report with data from the database based on the
         * parameters passed.
         */
        myJPrint = JasperFillManager.fillReport(jasperReport, params, conn);
        params.clear();

    } catch (JRException ex) {
        ex.printStackTrace();
    }

    return myJPrint;

}
连接conn=null; JasperPrint myJPrint=null; 试一试{ conn=您的连接名; //要传递到报表的参数 Map params=新的HashMap(); //加载我的jasper文件 JasperDesign JasperDesign=null; JasperReport-JasperReport=null; params.put(“REPORT_DIR”,yourClassName.class.getClassLoader() .getResource(“yourJasperFileName.jrxml”).toString().replace(“yourJasperFileName.jrxml”); jasperDesign=JasperManager.loadXmlDesign(yourClassName.class .getClassLoader().getResourceAsStream(“yourJasperFileName.jrxml”); 参数put(“加入日期”,frm dte); 参数put(“离开日期”,frm\U dte); jasperReport=jaspecompilemanager.compileReport(jasperDesign); /* *根据 *参数传递。 */ myJPrint=JasperFillManager.fillReport(jasperReport,params,conn); 参数clear(); }捕获(JREX异常){ 例如printStackTrace(); } 返回myJPrint; }
私人JasperPrint generateReport(){
连接conn=null;
JasperPrint myJPrint=null;
试一试{
conn=您的连接名;
//要传递到报表的参数
Map params=新的HashMap();
//加载我的jasper文件
JasperDesign JasperDesign=null;
JasperReport-JasperReport=null;
params.put(“REPORT_DIR”,yourClassName.class.getClassLoader()
.getResource(“yourJasperFileName.jrxml”).toString().replace(“yourJasperFileName.jrxml”);
jasperDesign=JasperManager.loadXmlDesign(yourClassName.class
.getClassLoader().getResourceAsStream(“yourJasperFileName.jrxml”);
参数put(“加入日期”,frm dte);
参数put(“离开日期”,frm\U dte);
jasperReport=jaspecompilemanager.compileReport(jasperDesign);
/*
*根据
*参数传递。
*/
myJPrint=JasperFillManager.fillReport(jasperReport,params,conn);
参数clear();
}捕获(JREX异常){
例如printStackTrace();
}
返回myJPrint;
}

如果在同一列中传递两个日期,则两个日期将并排显示。但是,你面对的确切问题是什么?“如果你没有得到任何记录,NIRAJ检查,如果FRM日期和tobe日期,如果他们正在发送空白。value@Dinupkandel:否“我的日期”值不是空的frm\U日期:-2012-08-01到\U日期:-2012-08-31@niraj您应该设置两个不同的参数。您正在使用同一参数传递不同的日期。如果这不起作用,我将提供一个代码,我用做。如果你通过两个日期在同一列两个日期将看到并排。但是,你面对的确切问题是什么?“如果你没有得到任何记录,NIRAJ检查,如果FRM日期和tobe日期,如果他们正在发送空白。value@Dinupkandel:否“我的日期”值不是空的frm\U日期:-2012-08-01到\U日期:-2012-08-31@niraj您应该设置两个不同的参数。您正在使用同一参数传递不同的日期。如果这不起作用,我将提供一个我曾经使用过的代码。@niraj请确保您在ireport中定义的参数名是正确的。参数put(“加入日期”,frm dte);参数put(“离开日期”,frm\U dte)@niraj确保您在ireport中定义的参数名称正确。参数put(“加入日期”,frm dte);参数put(“离开日期”,frm\U dte);