我想使用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()));
stmnt.executeQuery(); 注意:当前存在错误-无法在此处找到符号(java.sql.Date)第4行
db是一种包装类的实例,它公开了我从java.sql中需要的东西--它只是从我的connection对象中获取一条准备好的语句。
Time (列)是我的数据库中的日期时间,我只能看到setDate和setTime方法,但我想存储这两个方法-而且我的代码无论如何都不能工作;-)
如果任何人能给我一些关于使用预准备语句将组合日期时间(当前时间将非常有用,因为这是我的第一个目标)插入到MySql数据库中的建议,我将不胜感激。
谢谢
发布于 2010-06-05 19:17:02
java.sql.Date的构造函数需要一个很长的(1970年以来的毫秒) java.sql.Date来从java.uitl.Calendar中获取毫秒数,您可以使用cal.getTimeInMillis()
你的代码应该是:
Calendar cal = Calendar.getInstance();
PreparedStatement stmnt = db.PreparedStatement("INSERT INTO Run " + "(Time) VALUE (?) ");
stmnt.setDate(1, new java.sql.Date(cal.getTimeInMillis()));
stmnt.executeQuery();发布于 2010-06-05 19:19:04
下面的代码应该允许您以毫秒精度插入日期。我已经在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()));
}https://stackoverflow.com/questions/2980078
复制相似问题