【发布时间】:2012-10-27 11:59:44
【问题描述】:
我正在开发一个通过网络传输 ResultSet 的应用程序。我最终使用了 CachedRowSetImpl 类。但是当我连接到 Oracle 数据库时,我会收到这样的错误
java.lang.ClassCastException: oracle.sql.TIMESTAMP 无法转换为 java.sql.Timestamp
请帮忙。
源码如下:
ResultSet res = response.getResultSet(); //resultset from the server
while (res.next()) {
Agent agent = new Agent();
agent.setName(res.getString(2));
agent.setMobile(res.getString(1));
agent.setBalance(res.getLong(4));
agent.setLastUpdate(res.getDate(3)); //date from the result set
agent.setAccountNumber(res.getString(5));
}
错误...
java.lang.ClassCastException: oracle.sql.TIMESTAMP 不能转换为 java.sql.Timestamp java.lang.ClassCastException:oracle.sql.TIMESTAMP 无法转换为 java.sql.Timestamp 在 com.sun.rowset.CachedRowSetImpl.getDate(CachedRowSetImpl.java:2139)
【问题讨论】:
-
发布您的代码和堆栈跟踪
-
java.lang.ClassCastException: oracle.sql.TIMESTAMP 不能转换为 java.sql.Timestamp java.lang.ClassCastException: oracle.sql.TIMESTAMP 不能转换为 com 的 java.sql.Timestamp .sun.rowset.CachedRowSetImpl.getDate(CachedRowSetImpl.java:2139)
-
同时发布您的代码和整个堆栈跟踪
-
也只在你的问题中编辑它,而不是在评论中添加它
-
结果集 res = response.getResultSet(); //来自服务器的结果集 while (res.next()) { Agent agent = new Agent(); agent.setName(res.getString(2)); agent.setMobile(res.getString(1)); agent.setBalance(res.getLong(4)); agent.setLastUpdate(res.getDate(3)); //日期 agent.setAccountNumber(res.getString(5));