日期:2014-05-18  浏览次数:20714 次

ResultSet.get Date()取不到值!
今天看了jdbc,然后就试着写了几行代码。
我建了一个表叫t_test,里面有个Date型的列叫test_date,然后我插入一条数据,日期型的这个列(test_date)我插的数据是to_date('2013-12-17 14:14:14', 'yyyy-mm-dd hh24:mi:ss'),数据插进去了,显示的是17-12月-13。然后我想在java后台检索这条数据并打出来每列的值,结果请看下面:
......
while(rs.next()) {
    if (rs.getBigdecimal("test_val") != null) {
        System.out.println(String.valueOf(rs.getBigdecimal("test_val")));
    }
    System.out.println(rs.getString("test_nam"));
    if (rs.getDate("test_date") != null) {
        System.out.println(String.valueOf(rs.getDate("test_date")));
    }
}
......
控制台显示结果为:
123.45
张三

......
也就是说日期型的没取到,我表里这3列都是有值的。弄了好长时间也没有弄出来,求教!

------解决方案--------------------
用getTimestamp()试试

------解决方案--------------------
sql语句是什么,  你debug下,是没查到还是rs.getDate("test_date")没取到,先确定问题出在哪里。
------解决方案--------------------
cast(xx  as datetime) as xxxx;

rs.getTimestamp("xxxx");