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?

Original source