如何从结果集中获取日期 [英] How to get Date from a resultSet
问题描述
从ResultSet获取Date对象时遇到问题.在数据库中,它具有一个值(例如2014-08-01),并且从resultSet获取它之后,它具有另一个值(2014-08-31).我知道ResultSet的getDate方法返回java.sql.Date,但是我尝试了一些解决方案,例如:
Date date=new java.util.Date(resultSet.getDate(3).getTime());
或
Date date=resultSet.getTimestamp();
但是问题是一样的.
如果我尝试
Date date=resultSet.getDate();
它将引发NullPointerException.
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.
有人可以解释吗?
推荐答案
在您的情况下,您没有提供要检索的Date字段的columnName.
In your case you were not providing the columnName of the Date field to be retrieved.
这应该可以完成工作
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);
}
在ResultSetObject
上迭代,从java.sql.Date
的ResultSetObject
获取日期,然后将其转换为java.util.Date
iterate over the ResultSetObject
get the Date from the ResultSetObject
which is java.sql.Date
then convert it to java.util.Date
这篇关于如何从结果集中获取日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!