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

关于取Oracle日期值的问题
记录集用的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 ")可以取到日期的值

请问为什么?

------解决方案--------------------
ResultSet接口中定义的getDate()的返回类型是java.sql.Date, 如果你的Date是util.Date,那么取出时就会ClassCastException,因为下溯造型是不安全的


Timestamp = rst.getTimestamp( "col "); //是不是没有定义变量?

------解决方案--------------------
看看jdbc驱动是不是老了一点?
或者驱动少了东西
------解决方案--------------------
一楼正解!
------解决方案--------------------
可以用String来接收把,