Problema con ResultSet
Publicado por Geronimo (23 intervenciones) el 19/05/2005 14:50:42
Tengo un problema con el siguiente codigo:
public HashMap selectAll()
String sql="SELECT * FROM tabla";
HashMap coleccion=new HashMap();
ResultSet rs,rs2;
Objeto obj;
String atr1,atr2,atr3;
try{
rs=conexion.select(sql);
while(rs.next()){
atr1=rs.getString("columna1");
atr2=rs.getString("columna2");
atr3=rs.getString("columna3");
objeto=new Objeto(atr1,atr2,atr3);
coleccion.put(objeto.getAtr1(),objeto);
sql="SELECT * FROM otra tabla WHERE campo='"+objeto.getAtr1()+"';";
rs2=conexion.select(sql);
while(rs2.next()){
....
....
otras acciones...
}
}
catch(SQLException sqle){
return null;
}
return coleccion;
}
El tema es que cuando vuelve a la siguiente pasada del primer while el rs.next() me tira un error y sale de la funcion. Esto hace que no pueda anidar selecciones y tengo casos en los que necesito crear objetos que contienen a otros (por eso los while anidados)
Cualquier sugerencia sera bienvenida. Saludos.
public HashMap selectAll()
String sql="SELECT * FROM tabla";
HashMap coleccion=new HashMap();
ResultSet rs,rs2;
Objeto obj;
String atr1,atr2,atr3;
try{
rs=conexion.select(sql);
while(rs.next()){
atr1=rs.getString("columna1");
atr2=rs.getString("columna2");
atr3=rs.getString("columna3");
objeto=new Objeto(atr1,atr2,atr3);
coleccion.put(objeto.getAtr1(),objeto);
sql="SELECT * FROM otra tabla WHERE campo='"+objeto.getAtr1()+"';";
rs2=conexion.select(sql);
while(rs2.next()){
....
....
otras acciones...
}
}
catch(SQLException sqle){
return null;
}
return coleccion;
}
El tema es que cuando vuelve a la siguiente pasada del primer while el rs.next() me tira un error y sale de la funcion. Esto hace que no pueda anidar selecciones y tengo casos en los que necesito crear objetos que contienen a otros (por eso los while anidados)
Cualquier sugerencia sera bienvenida. Saludos.
Valora esta pregunta
0