Java - Problemas con ResultSet

 
Vista:

Problemas con ResultSet

Publicado por Paz (13 intervenciones) el 04/01/2002 18:11:46
Hola a todos. El código que está acabando con mi paciencia es el siguiente:
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){
Mensaje M=new Contacto(rs);
html2.append(C.getNombre()+" "+C.getCabello()+" "+C.getId()+rs.getRow() +"<br>" );

}
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:Problemas con ResultSet (el anterior no vale)

Publicado por Paz (13 intervenciones) el 04/01/2002 18:34:28
Hola a todos. El código que está acabando con mi paciencia es el siguiente:(el anterior no vale)
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){
Mensaje M=new Mensaje(rs);
html2.append(M.getNombre()+"-"+M.getId()+"-"+rs.getRow()+"<br>" );
}

Mensaje es un objeto que he creado. A su constructor le paso un objeto ResultSet.
El bucle se repite tantas veces como registros tengo, pero se instancia cada vez un objeto Mensaje con los datos del primer registro, de tal forma que si el ResultSet tiene 4 registros por ejemplo, aparece cuatro veces el primer registro.
Si conseguís entender el rollo que acabo de escribir, echadme una mano por favor.
Gracias por adelantado
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:Problemas con ResultSet (el anterior no vale)

Publicado por Antonio (51 intervenciones) el 04/01/2002 19:28:58
Lo siento Paz, pero no he entendido lo que quieres hacer (y eso que he leido con detenimiento tu consulta).
De todas maneras mira si el problema no te vendrá de que tienes el ResulSet abierto (lo estás leyendo) y a la vez se lo pasas a tu objeto Mensaje para que haga algo con él.
Si lo necesitas así, mira las opciones de cómo crear un Statement y un ResultSet que aparecieron con el java 2, ya que tal como los has creado el ResultSet solo puede ser leido hacia adelante de forma secuencial.
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

Respuesta para Antonio

Publicado por Paz (13 intervenciones) el 04/01/2002 20:34:19
No me extraña que no lo entiendas, no me entiendo ni yo.
El constructor de Mensaje es:

public Mensaje(ResultSet rs){
setNombre(rs.getString("nombre"));
.....
}
Con esto pretendo instanciar objetos Mensaje que tengan como variables de instancia los datos recogidos de la base de datos.
No sé si con esto te aclaro algo, de todas formas voy a mirar lo que me has comentado. Y una vez más, 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:Problemas con ResultSet

Publicado por Adrian (9 intervenciones) el 07/01/2002 12:27:38
Creo que el problema es, como te dijo Antonio,el paso de rs como parametro. Una sugerencia, si en el constructor de Mensaje solo usas un String del rs para una asignacion de nombre porque no obtenes ese nombre en el codigo (dentro del while) y se lo pasa al constructor de Mensaje.
Se entendio?
Bueno suerte
Adrian
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:Problemas con ResultSet

Publicado por inma (27 intervenciones) el 08/01/2002 11:24:35
Espero que ya lo hayas resuelto, pero por si acaso. El problema es el ResulSet, ten encuenta que aunque hagas un next(), el objeto ResultSet que le pasas siempre es el mismo, no tienes varios ResultSet sino sólo uno con un "listado" de valores.
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

Ya lo he solucionado

Publicado por Paz (13 intervenciones) el 08/01/2002 11:43:38
En primer lugar, gracias a todos por ayudarme.
Y en segundo lugar os explico mi metedura de pata.(ahhhhhhhhh)
Después de romperme la cabeza me he dado cuenta de que me estaba saliendo bien desde el principio, pero mandaba mostrar dos campos que eran iguales en todos los registros, por lo que lógicamente (ja) tenían que salir repetidos. En fin, qué "aguililla"...
De todas formas, 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