Javadocの例と同じように、ResultSet.TYPE_SCROLL_INSENSITVEを設定したため、スクロール可能である必要があるMSSQLServer2008からレコードセットを取得するためのこの単純なコードを取得しました。
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になります)?