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);
  • 相关阅读:
    使用WCF实现SOA面向服务编程—— 架构设计
    ASP.NET MVC 4 RC的JS/CSS打包压缩功能
    自定义WCF的配置文件
    C#综合揭秘——分部类和分部方法
    结合领域驱动设计的SOA分布式软件架构
    【转】数字证书类型
    kubeadm部署单master Kuberntes集群
    持续交付
    编译在docker alpine中可用的go程序
    百度云盘,文件重命名
  • 原文地址:https://www.cnblogs.com/lx06/p/15739812.html
Copyright © 2011-2022 走看看