I have the following Query :
INSERT INTO users (user_id, date_created) VALUES (?,?)
I have the following prepared statement
PreparedStatement insertUser = dbConnection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
insertUser.setInt(1, 7);
java.util.Date now = new java.util.Date(System.currentTimeMillis());
insertUser.setDate(2, new java.sql.Date((new Date(System.currentTimeMillis())).getTime()));
insertUser.executeUpdate();
If I check the database, I find that it is inserting only today's date not the time though, so it would be : 2011-07-29 00:00:00
What should I put in the setDate()
to get the time as well?
Instead of Date you should use a Timestamp and the setTimestamp method.
pratically you have to do something like that:
private static java.sql.Timestamp getCurrentTimeStamp() {
java.util.Date today = new java.util.Date();
return new java.sql.Timestamp(today.getTime());
}
....
preparedStatement.setTimestamp(4,getCurrentTimeStamp());