我得到了这个简单的代码来从 MSSQL Server 2008 检索记录集,由于我设置了 ResultSet.TYPE_SCROLL_INSENSITVE,因此它必须是可滚动的,与 Javadocs 中的示例相同:
String qry = "SELECT * from tblPeople";
SQLConnection sql = new SQLConnection();
Statement stmt = sql.getConnection().createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSet rs = stmt.executeQuery(qry);
不幸的是,当我想获得如下行数时,我仍然得到了这个堆栈跟踪rs.last(); int rowCount = rs.getRow();
:
java.sql.SQLException: ResultSet may only be accessed in a forward direction.
at net.sourceforge.jtds.jdbc.JtdsResultSet.checkScrollable(JtdsResultSet.java:304)
at net.sourceforge.jtds.jdbc.JtdsResultSet.last(JtdsResultSet.java:551)
at test.personen.Main.main(Main.java:44)
为什么会这样,我该如何解决(顺便说一下,当我检查 ResultSet 的类型时,我得到 1003 ..)?