How to get Date from a resultSet
java, jdbc, mysql, sql
Solution
In your case you were not providing the columnName of the Date field to be retrieved.
This should do the job
while (rs.next()) {
java.sql.Time dbSqlTime = rs.getTime("columnName");
java.sql.Date dbSqlDate = rs.getDate("columnName");
java.sql.Timestamp dbSqlTimestamp = rs.getTimestamp("columnName");
java.util.Date dbSqlTimeConverted = new java.util.Date(dbSqlTime.getTime());
java.util.Date dbSqlDateConverted = new java.util.Date(dbSqlDate.getTime());
System.out.println(dbSqlTimeConverted);
System.out.println(dbSqlDateConverted);
}
iterate over the `ResultSetObject` get the Date from the `ResultSetObject` which is `java.sql.Date` then convert it to `java.util.Date`
Problem
I have a problem when getting a Date object from a ResultSet. In database it has a value (for example 2014-08-01) and after getting it from resultSet, it has another value (2014-08-31). I know that ResultSet's getDate method returns java.sql.Date, but I tried a few solutions, such as: `Date date=new java.util.Date(resultSet.getDate(3).getTime());` or `Date date=resultSet.getTimestamp();` but the problem was the same. If I try `Date date=resultSet.getDate();` It throws a NullPointerException. Can anybody explain this?