加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 如何在将DATETIME插入db时修复错误

发布时间:2020-12-15 04:54:05 所属栏目:Java 来源:网络整理
导读:我想这样做: pr.setStartdate("2006-09-10T00:00:00"); 我收到此错误: java.sql.SQLDataException: The syntax of the string representation of a datetime value is incorrect. 关于如何成功插入的任何想法都会很棒. 这里有一些代码. 现在我需要setDate
我想这样做:

pr.setStartdate("2006-09-10T00:00:00");

我收到此错误:

java.sql.SQLDataException: The syntax of the string representation of a datetime value is incorrect.

关于如何成功插入的任何想法都会很棒.

这里有一些代码.
现在我需要setDate吗?或者setString是否适用于begintime,endtime和date?它们都是DATETIME对象:

PreparedStatement pstmt = conn.prepareStatement("UPDATE Event SET date=?,begintime=?,endtime=?,status=?,productionid=?,conceptual_packageid=? WHERE id=?");
        pstmt.setString(1,pkg.getDate());
        pstmt.setString(2,pkg.getBeginTime());
        pstmt.setString(3,pkg.getEndTime());
        pstmt.setString(4,pkg.getStatus());
        pstmt.setString(5,pkg.getProductionID());
        pstmt.setString(6,pkg.getConceptual_PackageID());
        pstmt.setString(7,pkg.getId());

        pstmt.executeUpdate();
        pstmt.close();

解决方法

我建议您使用PreparedStatement的setTimestamp(…)和setDate(…)方法,然后将实际的Date对象传递给它们,而不是使用字符串.如果你只能在“pr”类中使用字符串,那么将字符串转换为 derby doc中指定的格式,然后使用下面的代码

java.sql.Timestamp.valueOf("time/date converted");

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读