尝试将数据插入数据库表时,java.util.Date 无法转换为 java.sql.Date [关闭]

Posted

技术标签:

【中文标题】尝试将数据插入数据库表时,java.util.Date 无法转换为 java.sql.Date [关闭]【英文标题】:java.util.Date cannot be cast to java.sql.Date while trying to insert data to database table [closed] 【发布时间】:2015-03-06 05:21:35 【问题描述】:

String query1 ="插入 ORDER_T(ORDER_ID,ordernumber,ordertotal,ORDERDESCRIPTION,CREATEDDATE," + "UPDATEDDATE) 值(?,?,?,?,TO_DATE(?,'dd/mm/yyyy'),TO_DATE(?,'dd/mm/yyyy'))";

        preparedSt=con.prepareStatement(query1);
        preparedSt.setString(1, order.getOrderId());
        preparedSt.setString(2, order.getOrderNumber());
        preparedSt.setString(3, order.getOrderDescription());
        preparedSt.setBigDecimal(4, order.getOrderTotal());         
        preparedSt.setDate(5,(java.sql.Date) order.getCreatedDate());// java.util.Date cannot be cast to java.sql.Date
        preparedSt.setDate(6, (java.sql.Date) order.getUpdatedDate());// java.util.Date cannot be cast to java.sql.Date
        result=preparedSt.executeUpdate();

控制台 连接成功!! java.lang.ClassCastException:java.util.Date 不能转换为 java.sql.Date 在 com.cloudbill.order.process.OrderProcessorImpl.placeOrder(OrderProcessorImpl.java:129) 在 com.cloudbill.order.bo.OrderMain.main(OrderMain.java:174) java.lang.ClassCastException:java.util.Date 不能转换为 java.sql.Date 在 com.cloudbill.order.process.OrderProcessorImpl.placeOrder(OrderProcessorImpl.java:129) 在 com.cloudbill.order.bo.OrderMain.main(OrderMain.java:174)

【问题讨论】:

【参考方案1】:

试试下面的代码

    java.sql.Date sqlCreatedDate = new java.sql.Date(order.getCreatedDate().getTime());
        java.sql.Date sqlUpdatedDateDate = new java.sql.Date(order.getUpdatedDate().getTime());
        prepairedSt.setDate(5,sqlCreatedDate);// 
        prepairedSt.setDate(6, sqlUpdatedDateDate);//

【讨论】:

谢谢 thomas..ur 代码工作正常..现在问题解决了。

以上是关于尝试将数据插入数据库表时,java.util.Date 无法转换为 java.sql.Date [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

尝试将数据插入数据库表时,java.util.Date 无法转换为 java.sql.Date [关闭]

将数据插入 HIVE 表时出错

通过 PHP 将数据插入 MySQL 表时出错

插入表时如何避免数据不一致

在将数据从文件插入表时,如何用 NULL 替换 NA 值?

使用 sqltransaction 插入表时选择数据