Problem
I need to find number of rows in ResultSet. How can I do that?
Solution
First of all, we need to set our PreparedStatement to be scroll insensitivite. This can be done really easily
PreparedStatement preparedStatement = connection.prepareStatement(myQuery, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
After that, we need to jump to the last row in our ResultSet, get number of that row, save that number and jump before first row. This is, again, really simple
ResultSet rs = preparedStatement.executeQuery(); int totalRows = 0; if(rs.last()){ totalRows = rs.getRow(); rs.beforeFirst(); } if(totalRows == 0){ System.out.println("The resultset is empty!"); }else{ System.out.println("Total "+totalRows+" rows in resultset!"); }