我正在嘗試創建JR以start_date和end_date爲參數的報告。如何將日期作爲參數傳遞給碧玉報告
查詢:
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);
你有什麼錯誤嗎? – Ami
如果您在同一列上傳遞兩個日期,那麼這兩個日期將並排顯示,因此我沒有收到任何記錄 –
。但是你面臨的確切問題是什麼? –