zoukankan      html  css  js  c++  java
  • ClassCastException: java.util.Date cannot be cast to java.sql.Date

    解决办法

        /**
         * 单个方法,作用,根据输入的day:yyyy-mm-dd格式的字符日期,将数据库中的该天所有数据更新为0
         * 0表示假期
         * @param day
         * @throws SQLException 
         * @throws ParseException 
         */
        public void UpdateDayTypeByLeaseDay(String day) throws SQLException, ParseException{
            //UPDATE NYC_TRIP_SUM_BYHOUR SET daytype='0' where leaseday='2016-12-31'
            String sql="UPDATE NYC_TRIP_SUM_BYHOUR SET daytype='0' where leaseday=?";
            //建立连接
            Connection conn=daoUtil.getConnection();
            PreparedStatement preStmt=conn.prepareStatement(sql);
    
    //      SimpleDateFormat sdfDay=new SimpleDateFormat("yyyy-MM-dd");//小写的mm表示的是分钟
    
            //先将字符日期转为util日期
            SimpleDateFormat df = new SimpleDateFormat("yyyy-mm-dd");
            Date dayDateUtil=df.parse(day);
            System.out.println("转换成Util日期"+dayDateUtil);
            //由于util在sql中不符,再转为sql日期
            java.sql.Date dayDateSql = new java.sql.Date(dayDateUtil.getTime());
            System.out.println("转换成sql日期"+dayDateSql);
    
            //将日期参数传入
            preStmt.setDate(1, dayDateSql);
            preStmt.executeQuery();
            //关闭连接资源
            preStmt.close();
            conn.close();
    
        }

    关键在于中间的几行:

    //先将字符日期转为util日期
    SimpleDateFormat df = new SimpleDateFormat("yyyy-mm-dd");
    Date dayDateUtil=df.parse(day);
    System.out.println("转换成Util日期"+dayDateUtil);
    
    //由于util在sql中不符,再转为sql日期
    java.sql.Date dayDateSql = new java.sql.Date(dayDateUtil.getTime());
    System.out.println("转换成sql日期"+dayDateSql);
  • 相关阅读:
    Java配置jdk图文教程
    线程池介绍与应用
    继承机制的探讨
    1.深入分析_NIO性能分析
    1.类的加载机制_继承类的加载(一个小的Demo)说明
    githup创建新java项目
    UE常用快捷键使用
    堡垒机上传文件
    16.linux常用查看命令
    15.vi/vim编辑器下常用光标移动
  • 原文地址:https://www.cnblogs.com/lx06/p/15739812.html
Copyright © 2011-2022 走看看