Java - ¿ como recorrer varios resultset para agregar el resultado de cada uno a una misma lista ?

 
Vista:

¿ como recorrer varios resultset para agregar el resultado de cada uno a una misma lista ?

Publicado por Alexis (1 intervención) el 22/01/2020 20:54:20
hola !!
Estoy desarrollando una aplicación web con MVC en la cual necesito crear un formulario donde un <option> se llene dinamicamente tras una consulta sql.
El inconveniente que tengo se presenta cuando quiero obtener la lista que necesito de la base de datos ya que debo obtener solo uno dato de todos los repetido lo cual logro hacerlo con la instrucción sql "SELECT DISTINCTROW columna FROM tabla", pero en la vista (JSP) son varios <option> los que tengo que llenar, lo que intente hacer es lo siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
while(resultset.next() && resultset1.next() && resultset2.next() && resultset3.next()) {
 
 
    String fiscalia=resultset.getString("fiscalia");
    String delito=resultset1.getString("delito");
    String sexo=resultset2.getString("sexo");
    int edad=resultset3.getInt("edad");
 
 
    Registros Busqueda=new Registros(fiscalia,delito,sexo,edad);
 
    busqueda.add(Busqueda);
 
 
    return busqueda;

el problema esta en que los resultset al no tener el mismo numero de elementos no se obtienen todos los datos de cada uno y la lista de los <option> se obtiene incompleta. he intentado enviar una lista en cada clase pero a la hora de recibirlas en el servlet no se como tratarlas para enviarlas al JSP:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
private void llenaB_a(HttpServletRequest request, HttpServletResponse response) {
    // TODO Auto-generated method stub
 
 
    List<Registros> Lista;
    List<Registros> Lista1;
 
    try {
 
        Lista=modeloRegistros.obtieneLista2();
        Lista1=modeloRegistros.obtieneLista2();
 
    // agregar lista de productos al request
 
        request.setAttribute("LISTA", Lista);
        request.setAttribute("LISTA", Lista1);
 
    //enviar ese request a la pagina JSP
 
        RequestDispatcher miDispatcher=request.getRequestDispatcher("/Busquda_avanzada.jsp");
        miDispatcher.forward(request, response);
 
    }catch(Exception e) {
 
        e.printStackTrace();
    }
 
}

creo que lo que intento hacer ahí no tiene mucha lógica. Otra forma que intente fue recorrer cada uno los deferentes resutset en while() independientes y agregarlos a la misma lista, pero a la lista se integran todos los resultados, es decir si obtengo "String fiscalia=resultset.getString("fiscalia"); en el <option> de "FISCALIA" me combina resultados de delito, sexo y edad

soy algo nuevo dentro del mundo de la programación y me he topado con este problema el cual no he podido resolver desde hace tiempo espero alguien pueda ayudarme. 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