5

結果セットの最後の行にいるかどうかを知る方法を探していましたが、isLast()メソッドが見つかりました。

私は次のようなことをしました:

if(rs.isLast()) {
    //do some operation here
}

しかし、それは私にエラーをもたらします:要求された操作は、転送のみの結果セットではサポートされていません。

解決策を探しましたが、TYPE_FORDWARD_ONLYを変更する必要があると言われました。しかし、今、私はTYPE_FORWARD_ONLYを使用して、自分が最後のレコードセットにいるのかどうかを知る方法があるかどうか疑問に思っていました。

ありがとう。

4

3 に答える 3

1

isAfterLastへの呼び出し後に確認できるメソッドもありますnext。これも TYPE_FORDWARD_ONLY でサポートする必要はありませんが、とにかく試してみてください。

于 2012-05-15T11:27:27.793 に答える
0

ドライバーがサポートしておらずafterLastisLastTYPE_FORWARD_ONLY結果セットしか使用できない場合は、すべての行を処理し、すべての行を読み取った後、最後の行で実行したい追加の処理を実行する必要があります。

于 2012-05-15T17:37:37.830 に答える
0

コネクタはおそらくサポートしていないため、 DatabaseMetaData#supportsResultSetType(int)TYPE_FORWARD_ONLYを使用して確認できます。

于 2012-05-15T09:10:00.733 に答える