如何从结果集中获取日期 [英] How to get Date from a resultSet

查看:303
本文介绍了如何从结果集中获取日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

从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.DateResultSetObject获取日期,然后将其转换为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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆