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

Como hago para recorrer el ResultSet

Estas en el tema de Como hago para recorrer el ResultSet en el foro de Java en Foros del Web. Una consulta, una vez me pusieron una pregunta de como haria en procedimientos o en codigo, para recorrer un ResulSet que tiene datos, y como ...
  #1 (permalink)  
Antiguo 08/07/2012, 15:10
Avatar de Sumerio  
Fecha de Ingreso: octubre-2009
Mensajes: 195
Antigüedad: 15 años, 1 mes
Puntos: 6
Pregunta Como hago para recorrer el ResultSet

Una consulta, una vez me pusieron una pregunta de como haria en procedimientos o en codigo, para recorrer un ResulSet que tiene datos, y como haria para recorrerlo cada cierto tiempo, espero que me puedan ayudar.
  #2 (permalink)  
Antiguo 09/07/2012, 02:32
 
Fecha de Ingreso: marzo-2012
Ubicación: Madrid
Mensajes: 74
Antigüedad: 12 años, 8 meses
Puntos: 12
Respuesta: Como hago para recorrer el ResultSet

http://docs.oracle.com/javase/6/docs...ResultSet.html
  #3 (permalink)  
Antiguo 09/07/2012, 04:08
 
Fecha de Ingreso: abril-2012
Ubicación: Canarias
Mensajes: 41
Antigüedad: 12 años, 6 meses
Puntos: 5
Respuesta: Como hago para recorrer el ResultSet

El ResultSet tiene un método llamado next() el cual devuelve un boolean, true si hay más datos que leer o false si no los hay, entonces:

Código Java:
Ver original
  1. // data es el objeto ResultSet
  2. while(data.next()) {
  3.  
  4. // Ya dentro del while obtener los datos
  5. int Id = data.getInt("id");
  6. }
  #4 (permalink)  
Antiguo 09/07/2012, 23:06
 
Fecha de Ingreso: julio-2012
Mensajes: 39
Antigüedad: 12 años, 4 meses
Puntos: 2
Respuesta: Como hago para recorrer el ResultSet

Mas facil es crear un iterator del tipo de dato que esta manejando:

Iterator<tipoDato> = Resulset.iterator;
while(iterator.hasNext){
TipoDato tipoDato = iterator.next;
}

Última edición por cyborgve; 09/07/2012 a las 23:30
  #5 (permalink)  
Antiguo 10/07/2012, 04:25
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 16 años, 2 meses
Puntos: 188
Respuesta: Como hago para recorrer el ResultSet

En realidad, data.next() hace dos operaciones en sí.

1º comprueba que existe el siguiente elemento (el equivalente a hacer hasNext())
2º se posiciona en el siguiente elemento del resultSet

Un error muy común suele ser usar while(data.next()) y luego llamar dentro del while también a data.next()... con lo que se salta los elementos de dos en dos y puede provocar una excepción si se intenta acceder a un elemento fuera del tamaño del resultSet.

Personalmente me decantaria por el iterador, o usaría también:

while(data.hasNext()){
TipoDato tipoDato = data.next();
int Id = tipoDato.getInt("id");
}

Para visualizarlo de una forma más clara.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}

Etiquetas: resultset
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 16:18.