You are correct, rs.getFetchSize() does not give you the number of records in the result set. You are also correct that reading the entire result set is the only reliable way of counting its records. However, this question has been asked hundreds of times before, so I am simply going to suggest you search the forums for it, instead of going through all of that all over again.