ResultSet rs = stmt.executeQuery( "select userid,min(batchid) from point group by userid ");
while (rs.next()) {
System.out.println(rs.getString(1));
System.out.println(rs.getString(2));
}
运行后,在打印语句出错。
java.sql.SQLException: [Microsoft][ODBC Driver Manager] カーソルの状態が無効です。
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6958)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7115)
at sun.jdbc.odbc.JdbcOdbc.SQLGetDataString(JdbcOdbc.java:3908)
at sun.jdbc.odbc.JdbcOdbcResultSet.getDataString(JdbcOdbcResultSet.java:5699)
at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:353)
at test.Test.main(Test.java:33)
我使用的access数据库。当时用这条语句在plsql中,连接oracle数据库时使用,就正常。请大家帮帮忙,已经弄了一天了,还没想出来是为什么。
------解决方案--------------------
我个人的经验,仅供参考
用JDBC-ODBC连Access总会出现一些意想不到的Bug
比如,你CreateStatement的时候用了ResultSet.CONCUR_READ_ONLY,执行selet top 10就会有问题。所以CreateStatement的时候最好不要加参数
还可能有其它的原因。。。。具体不详
------解决方案--------------------
连接access与oracle 的代码不一样!!(个人意见)