Número de registros devueltos en un resultset

  • ¿Cómo obtener el número de registros devueltos en un ResultSet?

    En Java 6 no hay un método directo que permita obtener el número de registros por una consulta. Hay diferentes formas, pero aquí vamos a describir la más elegantes (a mi humilde entender).

     

    Es muy sencillo. Instaciamos el objeto Statement de la siguiente forma:

    Session session;
    
    Connection connection;
    
    Statement statement;
    
    /*
    
    [... nos conectamos a la base de datos...]
    
    */
    
    //En este caso devolveremos un resultset por el que nos podamos desplazar (ResultSet.TYPE_SCROLL_INSENSITIVE) y no actualizable (ResultSet.CONCUR_READ_ONLY)
    
    Statement statement = session.connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
    
    Resultset resultSet = statement.executeQuery("SELECT * FROM MI TABLA");
    //Si la consulta ha devuelto registros if( resultSet.last ){ //Obtenemos el númeo de registro de la última fila int totalRegistros = resultSet.getRow(); //Nos volvemos a posicionar antes de la primera fila para poder tratar el resultset resultSet.beforeFirst(); }

     Con el código anterior resolvemos el problemilla se saber cuantos registros devuelve la consulta que hagamos

     

     

     

Logo M4 ERP
Developer

Seguridad de la página de inicio

Please publish modules in offcanvas position.