Java 向jasper报告传递日期参数时如何解决ClassCastException?
我在derby数据库上有一个带有日期间参数的报告 当通过两个文本字段发送日期以运行I时,我收到了下面的消息 获得以下报价错误消息 线程“AWT-EventQueue-0”java.lang.ClassCastException中的异常: 无法在处将java.lang.String转换为java.util.Date net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.setDate(JRJdbcQueryExecuter.java:615) 我调用jasper report的代码如下:Java 向jasper报告传递日期参数时如何解决ClassCastException?,java,date,jasper-reports,Java,Date,Jasper Reports,我在derby数据库上有一个带有日期间参数的报告 当通过两个文本字段发送日期以运行I时,我收到了下面的消息 获得以下报价错误消息 线程“AWT-EventQueue-0”java.lang.ClassCastException中的异常: 无法在处将java.lang.String转换为java.util.Date net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.setDate(JRJdbcQueryExecuter.java:615)
public void runREport() {
try {
Connection con1= null;
String Op=jTsubmain_no.getText();
int val = Integer.parseInt((String) Op.trim());
Map param1 = new HashMap();
param1.put("sub_no",val);
param1.put("fdate",jTfdate.getText());
param1.put("ldate",jTldate.getText());
try {
con1= DriverManager.getConnection("jdbc:derby://localhost:1527//accountsdb","accounts","accounts");
} catch (SQLException ex) {
Logger.getLogger(reports.class.getName()).log(Level.SEVERE, null, ex);
}
String jrxmlFileName = "C:/Users/hosam/Documents/NetBeansProjects/Accsys/src/accsys/report2.jrxml";
JasperDesign jasperDesign = JRXmlLoader.load(jrxmlFileName);
JasperReport jasperReport =JasperCompileManager.compileReport(jasperDesign);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, param1, con1);
JasperViewer.viewReport(jasperPrint);
} catch (JRException ex) {
JOptionPane.showMessageDialog( null, ex);
}
}
在传递的参数和jrxml中的定义之间有一个不同的类
jTfdate.getText()
正在返回类型为java.lang.String
在jrxml中,参数的定义如下
<parameter name="fdate" class="java.util.Date">
<defaultValueExpression><![CDATA[""]]></defaultValueExpression>
</parameter>
其中模式,“yourPattern”
应与解析的文本相对应,请参见
如何捕获
ParseException
并设置默认值,我留给您。在传递的参数和jrxml中的定义之间有一个不同的类
jTfdate.getText()
正在返回类型为java.lang.String
在jrxml中,参数的定义如下
<parameter name="fdate" class="java.util.Date">
<defaultValueExpression><![CDATA[""]]></defaultValueExpression>
</parameter>
其中模式,“yourPattern”
应与解析的文本相对应,请参见
如何捕获
ParseException
并设置默认值,我留给您。那么您的问题是什么?是Jasper、SQL还是日期时间处理?堆栈交换最适合于特定的狭义问题。请编辑掉这些无关的细节。我收到了一条错误消息,上面的日期与我的textfileds@Basil无法运行报告,因为日期参数错误,根据错误消息,我坚持以上,那么您的问题是什么?是Jasper、SQL还是日期时间处理?堆栈交换最适合于特定的狭义问题。请编辑掉这些无关的细节。我收到了一条错误消息,上面的日期与我的textfileds@Basil由于日期参数错误,无法运行报告。根据错误消息,我坚持在上面我将getdate改为gettext从日期选择器重新排序日期,因此问题得到解决。我将getdate改为gettext从日期重新排序日期这样问题就解决了。