1

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)。

4

1 に答える 1