Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/03/2009, 15:52
Avatar de optimus100
optimus100
 
Fecha de Ingreso: febrero-2009
Mensajes: 45
Antigüedad: 15 años, 10 meses
Puntos: 0
Exclamación Consultas con Struts

Hola a todos tengo algunas duda de como hacer una consulta a una base de datos. Pues bien explicare mi problema:
tengo 7 tablas que representan los 7 dias de la semana (en mysql) cada tabla contiene 4 campos (idroll, idempleado, horario_x, clase_x) las "x" repesentan los dias (lunes, martes, miercoles,...). La consulta que deseo realizar es que por medio del idempleado me realize la busqueda y como resultado de esa busqueda aparescan en las tablas (dentro del JSP) el problema que tengo es que en el JSP estan diseñadas las tablas de los 7 dias de la semana y quisiera que apareciaran todos los resultados. He investigado y lo mas optimo para realizar esta consulta es utilizar <logic:iterate> pero no se como utilizarlo.
Manejo una clase Form(ActinForm), un VO, un DAO, y el Action. SOlo que no se que deben contener cada una de estas clases, ademas mencionan que el resultado de la busqueda la almacene en un arrayList solo que no se donde implementarla.

Estas son algunos de los codigos que estado utilizando pero solo me devuelve un solo registro y no asi todos los registros de los campos que necesito:

ACTION FORM

Código PHP:

 
public class ConsultarRollForm extends ActionForm{

    private 
int idrn;
    private 
String nomrnaprnamrn;

    private 
String l3l5l7l9l11l13l15l17l19l21l23l25l27l29l31l33//// horario lunes
    
private String l4l6l8l10l12l14l16l18l20l22l24l26l28l30l32l34/// servicio lunes

    
private String m3m5m7m9m11m13m15m17m19m21m23m25m27m29m31m33//// horario martes
    
private String m4m6m8m10m12m14m16m18m20m22m24m26m28m30m32m34/// servicio martes

    
    
public int getIdrn(){
         return 
this.idrn;
    }
   public 
void setIdrn(int idrn){
   
this.idrn=idrn;
   }
    public 
String getNomrn(){
        return 
this.nomrn;
    }
    public 
void setNomrn(String nomrn){
    
this.nomrn=nomrn;
    }
    public 
String getAprn(){
         return 
this.aprn;
    }
    public 
void setAprn(String aprn){
    
this.aprn=aprn;
    }

    public 
String getAmrn(){
        return 
this.amrn;
    }
    public 
void setAmrn(String amrn){
    
this.amrn=amrn;
    }
   public 
String getL3(){
    return 
this.l3;
   }
   public 
void setL3(String l3){
   
this.l3 l3;
   }
   public 
String getL4(){
    return 
this.l4;
   }
   public 
void setL4(String l4){
   
this.l4 l4;
   }
   public 
String getL5(){
    return 
this.l5;
   }
   public 
void setL5(String l5){
   
this.l5 l5;
   }
   public 
String getL6(){
    return 
this.l6;
   }
   public 
void setL6(String l6){
   
this.l6 l6;
   }
   public 
String getL7(){
    return 
this.l7;
   }
   public 
void setL7(String l7){
   
this.l7 l7;
   } 

La clase VO (en ella capturo los datos de la consulta) como se puede observar es igual al FORM
Código PHP:

public class ConsultarRollVO implements Serializable{

    private 
int idrn;
    private 
String nomrnaprnamrn;

    private 
String l3l5l7l9l11l13l15l17l19l21l23l25l27l29l31l33//// horario lunes
    
private String l4l6l8l10l12l14l16l18l20l22l24l26l28l30l32l34/// servicio lunes

    
private String m3m5m7m9m11m13m15m17m19m21m23m25m27m29m31m33//// horario martes
    
private String m4m6m8m10m12m14m16m18m20m22m24m26m28m30m32m34/// servicio martes

     
public int getIdrn(){
         return 
this.idrn;
    }
   public 
void setIdrn(int idrn){
   
this.idrn=idrn;
   }
    public 
String getNomrn(){
        return 
this.nomrn;
    }
    public 
void setNomrn(String nomrn){
    
this.nomrn=nomrn;
    }
    public 
String getAprn(){
         return 
this.aprn;
    }
    public 
void setAprn(String aprn){
    
this.aprn=aprn;
    }

    public 
String getAmrn(){
        return 
this.amrn;
    } 
DAO

Código PHP:
public ConsultarRollVO ConsultarID (ConsultarRollVO conVO)throws Exception
{
    try{
    if(
this.conexion==null){
    
this.getConnection();
    }
    final 
String Sql " SELECT * FROM natacion LEFT JOIN rolllunes ON natacion.idEmpleado = rolllunes.idEmpleado"+
                       
" LEFT JOIN rollmartes ON natacion.idEmpleado=rollmartes.idEmpleado"+
                       
" LEFT JOIN rollmiercoles ON natacion.idEmpleado=rollmiercoles.idEmpleado"+
                       
" LEFT JOIN rolljueves ON natacion.idEmpleado=rolljueves.idEmpleado"+
                       
" LEFT JOIN rollviernes ON natacion.idEmpleado=rollviernes.idEmpleado" +
                       
" LEFT JOIN rollsabado ON natacion.idEmpleado=rollsabado.idEmpleado" +
                       
" LEFT JOIN rolldomingo ON natacion.idEmpleado=rolldomingo.idEmpleado"+
                       
" WHERE natacion.idEmpleado=?";

    
pst conexion.prepareStatement(Sql);
        
pst.setInt(1conVO.getIdrn());

    
resultSet pst.executeQuery();

    while(
resultSet.next()){
        
conVO.setIdrn(resultSet.getInt("idEmpleado"));
        
conVO.setNomrn(resultSet.getString("nombre"));
        
conVO.setAprn(resultSet.getString("app"));
        
conVO.setAmrn(resultSet.getString("apm"));

        
conVO.setL3(resultSet.getString("horario_lunes"));
        
conVO.setL4(resultSet.getString("clase_lunes"));
  }
//// fin del while
        
resultSet.close();
        
pst.close();
        
this.conexion.close();
    }
/// fin del try

    
catch(Exception e){
        
System.out.println(e.getMessage());
          throw new 
Exception(e.getMessage());
    }
return 
conVO;

Y EL ACTION

Código PHP:
public class ConsultarRollAction extends Action{

     public 
ActionForward execute(
                       
ActionMapping mapping
                     
ActionForm form
                    
HttpServletRequest request
                    
HttpServletResponse responsethrows IOExceptionServletException   {

       final 
ConsultarRollForm rollForm= (ConsultarRollFormform;
        
ConsultarRollVO rollVO= new ConsultarRollVO();
        
ConsultarRollVO VO= new ConsultarRollVO();

try{

       
         
rollVO.setIdrn(rollForm.getIdrn());
         

         final 
IngresarRollDAO rollDAO = new IngresarRollDAO();

          
VO rollDAO.ConsultarID(rollVO);

          if (
VO.getIdrn() == 0){
             return 
mapping.findForward("inexistente");
          }
         
         
rollForm.setIdrn(rollVO.getIdrn());
         
rollForm.setNomrn(rollVO.getNomrn());
         
rollForm.setAprn(rollVO.getAprn());
         
rollForm.setAmrn(rollVO.getAmrn());
         
rollForm.setL3(rollVO.getL3());
         
rollForm.setL4(rollVO.getL4());
         
rollForm.setL5(rollVO.getL5());
         
rollForm.setL6(rollVO.getL6());
         
rollForm.setL7(rollVO.getL7());
         
rollForm.setL8(rollVO.getL8());
         
rollForm.setL9(rollVO.getL9());
         
         return 
mapping.findForward("roll");
}
catch(
Exception e){
return 
mapping.findForward("fallo");
}

     }

si alguien pudiera ayudar en como solucinar este problema se los agradecere mucho. o por lo menos que me ayuden a compreder mejor el uso del arraylist y del <logic:iterate>