当前位置: 技术问答>java相关
用jdbc对access数据库进行操作时出现异常:java.sql.SQLException: [Microsoft][ODBC 驱动程序 管理器] 非法的游标状态
来源: 互联网 发布时间:2015-07-02
本文导语: 用jdbc对access数据库进行操作时出现异常:java.sql.SQLException: [Microsoft][ODBC 驱动程序 管理器] 非法的游标状态。是对resultset集进行操作时引起的,本人是java新手,对此束手无策,还请高手赐教。 | ...
用jdbc对access数据库进行操作时出现异常:java.sql.SQLException: [Microsoft][ODBC 驱动程序 管理器] 非法的游标状态。是对resultset集进行操作时引起的,本人是java新手,对此束手无策,还请高手赐教。
|
请把你的数据库连接代码写出来,因为遇到这种问题有很多种情况。
比如,在java对一个表的列操作时只能顺序的读取~~~~
比如,在java对一个表的列操作时只能顺序的读取~~~~
|
你連數據庫時用的是僅向前滾動的,所以用rs.get...時必須按順序讀取,rs.next()也是一樣,不能向后讀取數據.
如要前後滾動,必須用Connection.createStatement(int resultSetType,
int resultSetConcurrency
)
如要前後滾動,必須用Connection.createStatement(int resultSetType,
int resultSetConcurrency
)
|
其实很多这种错误都和使用jdbc-odbc桥有关
即使用odbc得到的结果集不支持滚动光标、不可编辑等
即使用odbc得到的结果集不支持滚动光标、不可编辑等
|
用下面的试试!
Statement statement=connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)
Statement statement=connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)
|
必须先建立好光标的类型和并发性!
其中类型有三种:
TYPE_FORWARD_ONLY,TYPE_SCROLL_INSENSITIVE,TYPE_SCROLL_SENSITIVE
并发性只有两种:
CONCUR_READ_ONLY,CONCUR_UPDATABLE(可更新记录集)
所以你应该 是connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE ,ResultSet.CONCUR_READ_ONLY )
它是jdbc2.0才有的功能!
其中类型有三种:
TYPE_FORWARD_ONLY,TYPE_SCROLL_INSENSITIVE,TYPE_SCROLL_SENSITIVE
并发性只有两种:
CONCUR_READ_ONLY,CONCUR_UPDATABLE(可更新记录集)
所以你应该 是connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE ,ResultSet.CONCUR_READ_ONLY )
它是jdbc2.0才有的功能!