Java - Como saber si un ResultSet está vacio

 
Vista:

Como saber si un ResultSet está vacio

Publicado por enrique (29 intervenciones) el 18/06/2001 11:28:39
hola,

como puedo saber si un resultSet está vacio?????

select = conexion.prepareStatement(selectsql);
rs = select.executeQuery();

ahora como compruebo si rs tiene valores???

si rs, tiene valores hago while rs.next()

gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como saber si un ResultSet está vacio

Publicado por Crisanto (7 intervenciones) el 18/06/2001 12:43:34
con rs.next() puedes trasladar el puntero, pero además puedes saber si hay mas registros ya que next () es un método que devuelve true o false dependiendo de que haya o no más registros asociados a dicho ResultSet, así que con un simple .... if (rs.next())... tras el executeQuery() puedes saber si hay datos en rs o no.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

RE:Como saber si un ResultSet está vacio

Publicado por ignacio (3 intervenciones) el 19/05/2010 17:14:16
Igualmejnte, una forma mejor es comprobar inmediatamente despues de la consulta con lo siguiente:

if ( rs.getRow() == 0 )
{
//es un result set vacío
}
else
{
//hay algo
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como saber si un ResultSet está vacio

Publicado por Douglas (2 intervenciones) el 16/10/2014 14:49:15
Gracias por la ayuda. Me sirvió mucho.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como saber si un ResultSet está vacio

Publicado por Yess (2 intervenciones) el 04/04/2016 19:18:44
el metodo getRow() NO te da el nro de Filas. .... verificar antes de dar "consejos"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como saber si un ResultSet está vacio

Publicado por ignacio (3 intervenciones) el 19/05/2010 17:14:41
Igualmejnte, una forma mejor es comprobar inmediatamente despues de la consulta con lo siguiente:

1
2
3
4
5
6
7
8
if ( rs.getRow() == 0 )
{
   //es un result set vacío
}
else
{
  //hay algo
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como saber si un ResultSet está vacio

Publicado por cezar alejandro ramirez (1 intervención) el 01/05/2015 20:51:50
Ese código no sirve porque solo accedes a una fila del ResultSet, deberias de usar el método: absolute así -
if (rs.absolute(1)){System.out.println("Hay mas de una fila");return true;}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como saber si un ResultSet está vacio

Publicado por Marcos David (1 intervención) el 19/06/2001 08:40:54
Tu mismo te has respondido, si escribes while(rs.next()) y no hay registros rs.next() devuelve FALSE y al no cumplirse la condición no se ejecutará el código que hay dentro del while
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
3
Comentar

RE:Como saber si un ResultSet está vacio

Publicado por Hcv (1 intervención) el 07/10/2009 20:15:59
Patetico,

si haces rs.next() ya te mueve el cursos y si te da true como seguis while(rs.next())... se vueve a mover y perdiste el primer registro.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar

RE:Como saber si un ResultSet está vacio

Publicado por Edu Sol (1 intervención) el 14/11/2011 01:50:02

SOLUCION



Se que es tarde para responderte, pero servirá para los demás que tuvimos este problema:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//después de la consulta
if (crs.next()) //verifica si esta vacio, pero desplaza el puntero al siguiente elemento
{
       crs.beforeFirst();//esta regresa el puntero al inicio para no perder el 1er dato
       while (crs.next())
       {
            for (int i = 0; i < NumColum; i++)
                 datos[i] = crs.getObject(i + 1);
            ModeloTabla.addRow(datos);
       }
       crs.close();
}
else
        JOptionPane.showMessageDialog(null, "El crs esta vacio");

Espero les sea de ayuda!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

RE:Como saber si un ResultSet está vacio

Publicado por Fozzie (5 intervenciones) el 31/07/2012 02:22:44
Gracias Edu Sol, lo que comentaste es correcto, había estado intentando con rs.first y después el while, pero en unos casos solo me mostraba un registro cuando existían dos, y lo que faltaba era regresar como bien mencionaste, el puntero al primer registro para no perderle...

Yo lo realice de la siguiente forma:

1
2
3
4
5
6
7
8
9
if(rs.first()){//recorre el resultset al siguiente registro si es que existen
    rs.beforeFirst();//regresa el puntero al primer registro
        while (rs.next()) {//mientras tenga registros que haga lo siguiente
             //contenido
        }
}
else{
     //esta vacio el resultset
}

Como complemento a la respuesta de Edu Sol. Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como saber si un ResultSet está vacio

Publicado por adrian (1 intervención) el 04/09/2012 06:49:39
me ha sido de utilidad gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Como saber si un ResultSet está vacio

Publicado por miguel (2 intervenciones) el 23/06/2016 18:47:40
gracias este comentario me ayudo mucho
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como saber si un ResultSet está vacio

Publicado por Hans (1 intervención) el 28/02/2017 16:11:17
Excelente perro me sirvió
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como saber si un ResultSet está vacio

Publicado por SMuller3 (1 intervención) el 16/11/2018 06:25:41
Hola amigos yo hice lo de beforeFirst() pero no me arroja el resultado que quiero solo funciona cuando no hay registros y me arroja el 1 pero cuando hay registros no me hace la suma, ayuda por fa.

1
2
3
4
5
6
7
8
9
10
11
12
if(rs.next()){
   rs.beforeFirst();
   while(rs.next()){
       String p=rs.getString("NUMERO");
       int s=(Integer.parseInt(p))+1;
       String suma=Integer.toString(s);
       registros[0]=suma;
   }
}
else{
   registros[0]="1";
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Gracias amigo por tu post.

Publicado por Luck (1 intervención) el 14/06/2013 15:19:09
Aunque fue hace ya, un buen tiempo mil gracias estuve patinando tres días por beforeFirst() mil gracias de nuevo. y un saludo desde Medellin-Colombia.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como saber si un ResultSet está vacio

Publicado por Douglas (2 intervenciones) el 16/10/2014 14:54:54
Estoy desarrollando una aplicación en java que se conecta a la base de datos oracle y había probado este método pero al hacerlo perdía la primera fila. Con el método beforeFirst() me permite iniciar el while desde el primer registro incluido en el resultSet.

Gracias por la ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como saber si un ResultSet está vacio

Publicado por yess (2 intervenciones) el 04/04/2016 19:21:56
pues me da un error en la linea:
crs.beforeFirst();

java.sql.SQLException: Result set type is TYPE_FORWARD_ONLY

segun lei : indica que el puntero NO puede ir hacia ATRAS... solo hacia ADELANTE
... como resolviste esto ??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Como saber si un registro existe en la base de datos

Publicado por jerson aliaga (1 intervención) el 16/06/2016 20:24:10
Buenas tengo una duda como puedo mostrar un mensaje de dato no encontrado si el registro no existe en la base de datos (mysql-jsp)
De antemano gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Como saber si un ResultSet está vacio

Publicado por Alberto (3 intervenciones) el 13/06/2023 20:46:13
Disculpa amigo, lo pudiste solucionar?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 3
Ha aumentado su posición en 10 puestos en Java (en relación al último mes)
Gráfica de Java

RE:Como saber si un ResultSet está vacio

Publicado por Andres (1 intervención) el 21/06/2018 19:32:03
Esta era la respuesta que necesitaba Muchas Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como saber si un ResultSet está vacio

Publicado por Mago_de_Oz (1 intervención) el 04/11/2020 01:47:27
En estos tiempos tu código me sirvió mucho porque no solo responde a la pregunta principal sino resuelve el movimiento del puntero del resultset muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Como saber si un ResultSet está vacio

Publicado por Hernan (1 intervención) el 24/05/2016 15:27:35
el while(rs.next()) me funciono de diez
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar