我正在开发一个需要从数据库生成报告的系统。我一直在尝试查询数据库,以根据添加的日期和到期日期显示数据。问题是报告中没有显示数据。查询如下所示.jrxml文件:
<parameter name="dopened" class="java.lang.String"/>
<parameter name="dended" class="java.lang.String"/>
<queryString>
<![CDATA[SELECT * FROM CASES WHERE date_due < $P{dended} ORDER BY case_no]]>
</queryString>*
我已在相应的.java文件中正确声明参数“dopened”和“deneded”,如下所示:
params.put("dopened", dopen.getDate().toString());
params.put("dended", dend.getDate().toString());
我使用日期选择器来选择日期。请帮助指出我可能缺少的东西。感谢
答案 0 :(得分:2)
您是否尝试过>
和<
代替括号?
答案 1 :(得分:0)
只是猜测:你正在使用jasperreports或类似的解决方案。
查询显示“where”子句,其中包含期望Date对象的日期比较。参数“dended”是一个String。您正在使用dend.getDate()。toString()转换“dended”,但数据库肯定需要另一种日期格式(想想yy / mm / dd与yyyy-mm-dd)。
解决方案:将参数更改为java.util.Date或java.sql.Date并省略转换。