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

标签 java jasper-reports

我正在尝试创建以 start_date 和 end_date 作为参数的 JR 报告。

查询:

SELECT * FROM emp WHERE joining_date BETWEEN $P{frm_date} AND $P{to_date}

代码:

Date from_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());
try {
    HashMap map = new HashMap();
    map.put("$P{frm_date}", frm_dte);
    map.put("$P{to_date}", to_dte);
    JasperPrint jp = JasperFillManager.fillReport(is, map, con);
    JRViewer jv = new JRViewer(jp);
    JFrame jf = new JFrame();
    jf.getContentPane().add(jv);
    jf.validate();
    jf.setVisible(true);
    jf.setSize(new Dimension(800, 600));
    jf.setLocation(300, 100);
    jf.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
} catch (JRException ex) {
    ex.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);
}

关于java - 如何将日期作为参数传递给 jasper 报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12172711/

相关文章:

java - 在从 servlet 过滤器生成的单独线程中运行耗时进程

java - 无法在 JasperReports 中使用子报表

java - 如何将 jasper 报告日志记录到单独的日志文件中?

c# - 在应用程序的整个生命周期内保持 Lucene IndexWriter 和 IndexSearcher 打开是一种好习惯吗

Java - 实现 Cloneable 或添加构造函数?

java - 表字段的 JsonDataSource 获取空 Jasper 报告

java - 查看报表中的对象集合

html - 导出自定义 HTML 模板

java - 了解 groovy 中 map 内容的不同之处

java - 如何确定在 Linux 上使用 Java 还是 JRuby 是否正在运行不同的进程 ID?