记录集用的CachedRowSet,取oracle的date型的值时候,用getDate和getTimestamp方法都会提示"java.lang.ClassCastException: java.sql.Timestamp"
例如:
Date d = rst.getDate("col");
Timestamp = rst.getTimestamp("col");
抛出的错误:
java.lang.ClassCastException: java.sql.Timestamp
不过我用(java.util.Date)rst.getObject("col")可以取到日期的值请问为什么?

解决方案 »

  1.   

    ResultSet接口中定义的getDate()的返回类型是java.sql.Date, 如果你的Date是util.Date,那么取出时就会ClassCastException,因为下溯造型是不安全的
    Timestamp = rst.getTimestamp("col");  //是不是没有定义变量?
      

  2.   

    看看jdbc驱动是不是老了一点?
    或者驱动少了东西
      

  3.   

    问题的书写有错误,在测试中Timestamp 变量定义过,如果没定义不会出现这个错误。
    回头我再把驱动换一下,看看是不是驱动的问题。
      

  4.   

    先取出String类型再进行fomatDate