Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/03/2009, 15:52
Avatar de optimus100
optimus100
 
Fecha de Ingreso: febrero-2009
Mensajes: 45
Antigüedad: 17 años, 7 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 nomrn, aprn, amrn;

    private 
String l3, l5, l7, l9, l11, l13, l15, l17, l19, l21, l23, l25, l27, l29, l31, l33; //// horario lunes
    
private String l4, l6, l8, l10, l12, l14, l16, l18, l20, l22, l24, l26, l28, l30, l32, l34; /// servicio lunes

    
private String m3, m5, m7, m9, m11, m13, m15, m17, m19, m21, m23, m25, m27, m29, m31, m33; //// horario martes
    
private String m4, m6, m8, m10, m12, m14, m16, m18, m20, m22, m24, m26, m28, m30, m32, m34; /// 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 nomrn, aprn, amrn;

    private 
String l3, l5, l7, l9, l11, l13, l15, l17, l19, l21, l23, l25, l27, l29, l31, l33; //// horario lunes
    
private String l4, l6, l8, l10, l12, l14, l16, l18, l20, l22, l24, l26, l28, l30, l32, l34; /// servicio lunes

    
private String m3, m5, m7, m9, m11, m13, m15, m17, m19, m21, m23, m25, m27, m29, m31, m33; //// horario martes
    
private String m4, m6, m8, m10, m12, m14, m16, m18, m20, m22, m24, m26, m28, m30, m32, m34; /// 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(1, conVO.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 response) throws IOException, ServletException   {

       final 
ConsultarRollForm rollForm= (ConsultarRollForm) form;
        
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>