私はあなたが使用する必要があります。このResultSetメソッド "last"はこれが最適な方法ですか?
ResulSet rs = stmt.executeQuery();
while (rs.next()) {
.... //do regular processing
if (rs.last()) {
//do last record processing
}
}
私はあなたが使用する必要があります。このResultSetメソッド "last"はこれが最適な方法ですか?
ResulSet rs = stmt.executeQuery();
while (rs.next()) {
.... //do regular processing
if (rs.last()) {
//do last record processing
}
}
を行い、このJavaコードがあります。代わりにisLast()を。
すべてのJDCBドライバがこの機能をサポートしているわけではありません。明らかに、あなたのインストールでそれを確認する必要があります。
大部分のDBは正常に動作します。
固定コードは次のようになります。
if(rs.isLast()) {
// do last record processing
}
個人的に、私はループの外で、クエリから取得されている変数を宣言して、ループの後、「最後のレコードの処理」を行うだろう。
ResulSet rs = stmt.executeQuery();
long primaryKey;
while (rs.next()) {
primaryKey = rs.getLong(1);
.... //do regular processing
}
// Do last record processing.
System.out.println("last primary key = " + primaryKey);
番号:()rs.lastは実際にあなたが何をしたいのか明確にされていない、ResultSetの中で最後の行にカーソルを送信します。結果セットから最大で2行(最初と最後)しか処理しません。