SO に関するいくつかの回答では、クエリ結果のエントリ数を取得するためにResultSet
の関数を使用することをお勧めします。getRow()
ただし、次のコード
private static int getSizeOfResultSet(ResultSet result) throws SQLException{
if(result != null){
int count = 0;
while(result.next()){
count++;
}
System.out.println("Count of resultset is " + result.getRow() + " and count " + count);
return result.getRow();
}else{
System.out.println("Result is null");
return 0;
}
}
私に次のようなものを返しています
Count of resultset is 0 and count 1
エントリが存在することが保証されている場合 (JUnit テスト ケース内)。このプロジェクトはJava6標準でなければならないことに注意してください。おそらくこれが問題です。getRow()
関数の使用を検討することはありますか?
さらに、私は
result.last();
int c = result.getRow();
result.beforeFirst();
return c;
ここで述べたように、しかし結果はまだ0です。
編集: while(result.next())
-loop はテスト目的であることに言及する必要があります。ループがない場合の動作はまったく同じです (つまり0
)。