JDBC插入日期问题?

麻烦的一笔 2008-07-16 11:54:00
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setDate(8, new Date());

这样写会报错,应该如何获得系统日期插入呢?
...全文
809 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
happystarting 2008-07-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 YidingHe 的回复:]
注意参数类型。setDate() 方法要求 java.sql.Date,而 java.sql.Date 的构造函数不能为空。
所以正确做法是:
pstmt.setDate(8, new Date(System.currentTimeMillis()));
或者:
pstmt.setDate(8, new Date(new java.util.Date().getTime()));
[/Quote]
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 YidingHe 的回复:]
注意参数类型。setDate() 方法要求 java.sql.Date,而 java.sql.Date 的构造函数不能为空。
所以正确做法是:
pstmt.setDate(8, new Date(System.currentTimeMillis()));
或者:
pstmt.setDate(8, new Date(new java.util.Date().getTime()));
[/Quote]
xuhaiyang 2008-07-16
  • 打赏
  • 举报
回复
format一下
麻烦的一笔 2008-07-16
  • 打赏
  • 举报
回复
我在插入前做个判断,如果插入的值为空的话就new Date()
但是这样是错的,如何才能插入系统日期呢?
捏造的信仰 2008-07-16
  • 打赏
  • 举报
回复
注意参数类型。setDate() 方法要求 java.sql.Date,而 java.sql.Date 的构造函数不能为空。
所以正确做法是:
pstmt.setDate(8, new Date(System.currentTimeMillis()));
或者:
pstmt.setDate(8, new Date(new java.util.Date().getTime()));
storm_huang 2008-07-16
  • 打赏
  • 举报
回复
不能直接用数据库的当前时间吗?
如果一定要这样,你看看你set的那个date是java.util的还是java.sql的。
这里要用java.sql.Date
lisl2003 2008-07-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 YidingHe 的回复:]
注意参数类型。setDate() 方法要求 java.sql.Date,而 java.sql.Date 的构造函数不能为空。
所以正确做法是:
pstmt.setDate(8, new Date(System.currentTimeMillis()));
或者:
pstmt.setDate(8, new Date(new java.util.Date().getTime()));
[/Quote]
学习一下。
chenhongxin 2008-07-16
  • 打赏
  • 举报
回复
精确到秒:pstmt.setTimestamp(8,new Timestamp(System.currentTimeMillis()));
精确到日:pstmt.setDate(8,new Date(System.currentDate()));
zhizhuo89 2008-07-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 YidingHe 的回复:]
注意参数类型。setDate() 方法要求 java.sql.Date,而 java.sql.Date 的构造函数不能为空。
所以正确做法是:
pstmt.setDate(8, new Date(System.currentTimeMillis()));
或者:
pstmt.setDate(8, new Date(new java.util.Date().getTime()));
[/Quote]
另外,setDate()只能是日期型,最小单位是日。如果需要时分秒需要:
pstmt.setTiemstamp(8, new Timestamp(System.currentTimeMillis()));
或者:
pstmt.setTimestamp(8, new Timestamp(new java.util.Date().getTime()));

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧