Foros del Web » Programación para mayores de 30 ;) » Java »

ResultSet me sale vacio

Estas en el tema de ResultSet me sale vacio en el foro de Java en Foros del Web. hola a todos, tengo un problema que no se como solucionarlo, resulta que tengo que hacer una select cada 132 muestra y a la quinta ...
  #1 (permalink)  
Antiguo 23/05/2008, 04:08
 
Fecha de Ingreso: febrero-2007
Mensajes: 62
Antigüedad: 17 años, 2 meses
Puntos: 1
ResultSet me sale vacio

hola a todos, tengo un problema que no se como solucionarlo, resulta que tengo que hacer una select cada 132 muestra y a la quinta muestra que saca me dice que el resultset está vacio cuando no es así, en la base de datos existe,alguien me puede ayudar?? pongo el trozo de código. Muchas gracias

while(i<filas){

ResultSet rs1 = st3.executeQuery("SELECT MIN(RSUAVIZADA) FROM hoja1 WHERE ID BETWEEN '"+i+"' AND ('"+i+"' + '132')");
float min=0;

rs1.next();
min=rs1.getFloat(1);

ResultSet rs4=st3.executeQuery("SELECT ID FROM hoja1 WHERE (RSUAVIZADA<='"+min+"')AND (ID BETWEEN '"+i+"' AND ('"+i+"' + '132'))");

rs4.next();
id2=rs4.getInt(1);//Aqui me salta el error
st3.executeUpdate("INSERT INTO hoja2(ID,MINIMO,CICLO,FACTOR) VALUES ('"+id2+"','"+min+"', NULL,NULL)");

i+=132;

}
  #2 (permalink)  
Antiguo 23/05/2008, 09:52
Avatar de Lino-kun  
Fecha de Ingreso: mayo-2008
Ubicación: Cuernavaca Morelos Mexico
Mensajes: 126
Antigüedad: 16 años
Puntos: 2
Respuesta: ResultSet me sale vacio

Mira la mejor forma de encontrar tu Error es protegiendo tu aplicación con bloques try{ } catch(), con eso cuando en tiempo de ejecución truena es decir se genera la excepción puedes saber por que tronó
También protégete con un if(rs4.next()) ya que si no lo haces y el rs esta vació truena por un null pointerException. Mira tomé tu codigo y lo modifique un poco.

Aun no se que es lo que deseas hacer también seria bueno que nos lo platicaras.

Cuando te des cuenta de la excepción manda la al foro para que te ayudemos.

Código PHP:
try{
   while(
i<filas){
      
ResultSet rs1 st3.executeQuery("SELECT MIN(RSUAVIZADA) FROM hoja1 WHERE ID BETWEEN '"+i+"' AND ('"+i+"' + '132')");
      
float min=0;
   
      
rs1.next();
      
min=rs1.getFloat(1);

      
ResultSet rs4=st3.executeQuery("SELECT ID FROM hoja1 WHERE (RSUAVIZADA<='"+min+"')AND (ID BETWEEN '"+i+"' AND ('"+i+"' + '132'))");
      
rs4.next();
      
id2=rs4.getInt(1);//Aqui me salta el error
       
st3.executeUpdate("INSERT INTO hoja2(ID,MINIMO,CICLO,FACTOR) VALUES ('"+id2+"','"+min+"', NULL,NULL)");
       
i+=132
    }
} catch(
Exception e){
   
System.out.println(e.getMessage());

  #3 (permalink)  
Antiguo 23/05/2008, 10:15
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: ResultSet me sale vacio

Si vas a reutilizar los queries, lo mejor es usar PreparedStatement, eso lo primero. Y lo segundo es que si la BDD no devuelve ningun registro será por algo, que no suelen hacerlo para fastidiar , asi que yo miraria a ver los valores que se estan ejecutando cuando devuelve null el resultSet, el Query que se esta ejecutando y a ver si en la BDD efectivamente toca devolver algo.

Normalmente lo que suele pasar en cosas de estas es que lo se esta ejecutando no es lo que creemos que se esta ejecutando.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #4 (permalink)  
Antiguo 23/05/2008, 23:11
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: ResultSet me sale vacio

si, es la pega de los ordenadores. Se empeñan en hacer lo que les decimos que hagan y no lo que queremos que hagan.

Sed buenos.
__________________
Apuntes Java
Wiki de Programación
  #5 (permalink)  
Antiguo 24/05/2008, 02:28
 
Fecha de Ingreso: febrero-2007
Mensajes: 62
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: ResultSet me sale vacio

Gracias por todo, el caso es que antes me funcionaba perfectamente, formateé el ordenador y empezo a fallar, si modifico una decima arriba o abajo en la base de datos si me lo seleciona, sino esta vacio!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:43.