Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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报告传递日期参数时如何解决ClassCastException?_Java_Date_Jasper Reports - Fatal编程技术网

Java 向jasper报告传递日期参数时如何解决ClassCastException?

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)

我在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的代码如下:

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从日期重新排序日期这样问题就解决了。