使用java将日期时间插入数据库
我想使用Java和一条准备好的语句将datetime插入MySql数据库:使用java将日期时间插入数据库,java,mysql,datetime,prepared-statement,Java,Mysql,Datetime,Prepared Statement,我想使用Java和一条准备好的语句将datetime插入MySql数据库: Calendar cal = Calendar.getInstance(); PreparedStatement stmnt = db.PreparedStatement("INSERT INTO Run " + "(Time) VALUE (?) "); stmnt.setDate(1, new java.sql.Date(cal.getTime()));
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中需要的东西——它只是从我的连接对象中获取一条准备好的语句
时间(列)是我数据库中的日期时间,我只能看到setDate和setTime方法,但我想同时存储这两种方法-而且我的代码无论如何都不起作用;-)
如果有人能给我一些关于使用预先准备好的语句在MySql数据库中插入组合日期时间(当前时间将是一个很大的帮助,因为这是我的第一个目标)的建议,我将非常感激
谢谢java.sql.Date的构造函数需要很长的时间(自1970年以来为毫秒) 要从java.uitl.Calendar中获取毫秒,请使用 您的代码是:
Calendar cal = Calendar.getInstance();
PreparedStatement stmnt = db.PreparedStatement("INSERT INTO Run " + "(Time) VALUE (?) ");
stmnt.setDate(1, new java.sql.Date(cal.getTimeInMillis()));
stmnt.executeQuery();
下面的代码应该允许您插入毫秒精度的日期。我在HSQLDB、Sybase、SQL Server和MySql中使用过它,没有任何问题
java.util.Date date = getMyDate();
if (date == null) {
statement.setNull(insertionIndex, Types.TIMESTAMP);
} else {
statement.setTimestamp(insertionIndex, new Timestamp (date.getTime()));
}
杰出的这就是问题所在,斯坦奇,这个错误看起来如此无关。非常感谢你的帮助。