码迷,mamicode.com
首页 > 其他好文 > 详细

网上商城 Incorrect datetime value: '' for column 'ordertime' at row 1

时间:2019-05-07 19:40:52      阅读:294      评论:0      收藏:0      [点我收藏+]

标签:.net   div   correct   EDA   new   Servle   phone   rect   column   

今天在做商城项目的【提交订单】功能的时候,向数据库插入数据报错:Incorrect datetime value: ‘‘ for column ‘ordertime‘ at row 1

public void addOrders(Order order) throws SQLException {
        QueryRunner runner = new QueryRunner();
        String sql = "insert into orders values(?,?,?,?,?,?,?,?)";
        Connection conn = DataSourceUtils.getConnection();
        runner.update(conn,sql, order.getOid(),order.getOrdertime(),order.getTotal(),order.getState(),
                order.getAddress(),order.getName(),order.getTelephone(),order.getUser().getUid());
        
}

 

检查了sql语句,问号与value个数相同,没问题。

value的依次顺序与数据库也一样,没问题。

看到报错信息里有datetime,个人感觉是插入的数据与数据库类型产生了冲突,

然后就百度了下,看到一篇文章https://blog.csdn.net/qq_34734520/article/details/51882925

里面有这么一句:ordertime使用SimpleDateFormat进行转换,转换成和数据库一致的格式:yyyy-MM-dd hh:mm:ss

接着检查我的Servlet里面有一句代码是:

order.setOrdertime(new Date);

这里的日期没有进行格式化,想着是不是要格式化一下日期才行

最后利用SimpleDateFormat格式化日期后

运行不报错了,数据也插进去了,完美解决问题!!!

 

PS:给自己提个醒,这里的insert into语法是insert into 表名(字段1,字段2,字段3........) values(value1,value2 value3.....) ;  一定要一一对应,

如果前面不加字段名,value个数最好跟数据库里面字段个数一样,顺序对应,否则会报空指针异常。

网上商城 Incorrect datetime value: '' for column 'ordertime' at row 1

标签:.net   div   correct   EDA   new   Servle   phone   rect   column   

原文地址:https://www.cnblogs.com/y-song/p/10827401.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!