absolute(int row)
Java Docは言う:このResultSetオブジェクト内の指定された行番号にカーソルを移動Jaybird(FirebirdのJDBC)絶対()メソッド
を。行番号が正の場合、 カーソルは、結果セットの の先頭に対して、指定された行番号に移動します。最初の行は1行目、2行目は2行目なので がオンになります。指定された行番号が負の場合、カーソルは結果セットの末尾に対して絶対 の行位置に移動します。たとえば、 メソッドabsolute(-1)を呼び出すと、最後の行にカーソルが移動します。 メソッドabsolute(-2)を呼び出すと、最後の次の 行にカーソルが移動します。
指定された行番号がゼロの場合、カーソルは の最初の行の前に移動されます。
結果セットの最初/最後の行を超えてカーソルを置くと、最初の行の前または最後の 行の後にカーソルが残ります。
注:absolute(1)を呼び出すことは、first()を呼び出すことと同じです。 を絶対(-1)と呼び出すことは、last()を呼び出すことと同じです。
0
absolute(int row)
の方法を渡すことbeforeFirst()
がちょうど最初の行の前にカーソルを配置するように振る舞うべき
。
しかし、私はこの例外を持ってJaybirdを使用して:
Exception in thread "main" org.firebirdsql.jdbc.FBSQLException: You cannot position to the row 0 with absolute() method.
at org.firebirdsql.jdbc.FBCachedFetcher.absolute(FBCachedFetcher.java:243)
at org.firebirdsql.jdbc.FBCachedFetcher.absolute(FBCachedFetcher.java:232)
at org.firebirdsql.jdbc.AbstractResultSet.absolute(AbstractResultSet.java:1371)
at chapterA.ResultSets.main(ResultSets.java:180)
はJaybirdソース(FBCachedFetcher.java)
で検索私は、行のパラメータが0であるとき、それは例外をスローすることがわかった:
private boolean absolute(int row, boolean internal) throws SQLException {
checkScrollable();
if (row < 0) {
row = rows.size() + row + 1;
}
if (row == 0 && !internal) {
throw new SQLException("You cannot position to row 0 with absolute() method.");
}
は、任意のはありますそれのような行動の理由?
ありがとうございます!