首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用java将日期时间插入到数据库中

问使用java将日期时间插入到数据库中
EN

Stack Overflow用户
提问于 2010-06-05 19:07:37
回答 2查看 20.9K关注 0票数 4

我想使用Java和准备好的语句将datetime插入到MySql数据库中:

代码语言:javascript
复制
Calendar cal = Calendar.getInstance();
PreparedStatement stmnt = db.PreparedStatement("INSERT INTO Run " +
                       "(Time) VALUE (?) ");
    stmnt.setDate(1, new java.sql.Date(cal.getTime()));
    stmnt.executeQuery();  

注意:当前存在错误-无法在此处找到符号(java.sql.Date)第4行

db是一种包装类的实例,它公开了我从java.sql中需要的东西--它只是从我的connection对象中获取一条准备好的语句。

Time (列)是我的数据库中的日期时间,我只能看到setDate和setTime方法,但我想存储这两个方法-而且我的代码无论如何都不能工作;-)

如果任何人能给我一些关于使用预准备语句将组合日期时间(当前时间将非常有用,因为这是我的第一个目标)插入到MySql数据库中的建议,我将不胜感激。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-06-05 19:17:02

java.sql.Date的构造函数需要一个很长的(1970年以来的毫秒) java.sql.Date来从java.uitl.Calendar中获取毫秒数,您可以使用cal.getTimeInMillis()

你的代码应该是:

代码语言:javascript
复制
Calendar cal = Calendar.getInstance();
PreparedStatement stmnt = db.PreparedStatement("INSERT INTO Run " + "(Time) VALUE (?) ");
stmnt.setDate(1, new java.sql.Date(cal.getTimeInMillis()));
stmnt.executeQuery();
票数 5
EN

Stack Overflow用户

发布于 2010-06-05 19:19:04

下面的代码应该允许您以毫秒精度插入日期。我已经在HSQLDB,Sybase,SQL-Server和MySql上使用过,没有任何问题。

代码语言:javascript
复制
java.util.Date date = getMyDate();
if (date == null) {
    statement.setNull(insertionIndex, Types.TIMESTAMP);
} else {
    statement.setTimestamp(insertionIndex, new Timestamp (date.getTime()));
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2980078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档