Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/03/2009, 18:11
Avatar de optimus100
optimus100
 
Fecha de Ingreso: febrero-2009
Mensajes: 45
Antigüedad: 15 años, 11 meses
Puntos: 0
Exclamación Problemas con la base de datos

Hola a todos pues bien la duda que tengo y espero puedan ayudarme a resolver es la siguiente:

estoy relizando una consulta de una pagina web con JSP y struts hacia una base de datos con MySQL. Tengo 6 tablas relacionadas (socios, actividad1, actividad2, actividad3, casilleros y regaderas). El siguiente codigo es con el cual realizao la consulta:
Código PHP:
public ConsultarSociosVO ConsultarFolio (ConsultarSociosVO conVO)throws Exception
{
    try{
    if(
this.conexion==null){
    
this.getConnection();
    }
    final 
String Sql " SELECT * FROM socios INNER JOIN actividad_1 ON socios.fsocio=actividad_1.fsocio"+
                       
" INNER JOIN actividad_2 ON socios.fsocio=actividad_2.fsocio"+
                       
" INNER JOIN actividad_3 ON socios.fsocio=actividad_3.fsocio"+
                       
" INNER JOIN rentacasilleros ON socios.fsocio=rentacasilleros.fsocio"+
                       
" INNER JOIN rentaregaderas ON socios.fsocio=rentaregaderas.fsocio"+
                       
" WHERE socios.fsocio=?";

    
pst conexion.prepareStatement(Sql);
        
pst.setInt(1conVO.getFsocio());
       
/* pst.setInt(2, conVO.getFsocio());
        pst.setInt(3, conVO.getFsocio());
        pst.setInt(4, conVO.getFsocio());*/
    
resultSet pst.executeQuery();

    while(
resultSet.next()){
        
conVO.setFsocio(resultSet.getInt("fsocio"));
        
conVO.setNombre(resultSet.getString("nombre"));
        
conVO.setPaterno(resultSet.getString("app"));
        
conVO.setMaterno(resultSet.getString("apm"));
        
conVO.setfinsc(resultSet.getString("finscripcion"));
        
conVO.setfexamen(resultSet.getString("fexamen"));
        
conVO.setNombre2(resultSet.getString("nombre2"));
        
conVO.setPaterno2(resultSet.getString("app2"));
        
conVO.setNombre3(resultSet.getString("nombre3"));
        
conVO.setPaterno3(resultSet.getString("app3"));
        
conVO.setAct1(resultSet.getString("actividad"));
        
conVO.setDias1(resultSet.getString("dias"));
        
conVO.setTser1(resultSet.getString("servicio"));
        
conVO.setInst1(resultSet.getString("instructor"));
        
conVO.setfinicio(resultSet.getString("finicio"));
        
conVO.setftermino(resultSet.getString("ftermino"));
        
conVO.setAct2(resultSet.getString("actividad2"));
        
conVO.setDias2(resultSet.getString("dias2"));
        
conVO.setTser2(resultSet.getString("servicio2"));
        
conVO.setInst2(resultSet.getString("instructor2"));
        
conVO.setfinicio2(resultSet.getString("finicio2"));
        
conVO.setftermino2(resultSet.getString("ftermino2"));
        
conVO.setAct3(resultSet.getString("actividad3"));
        
conVO.setDias3(resultSet.getString("dias3"));
        
conVO.setTser3(resultSet.getString("servicio3"));
        
conVO.setInst3(resultSet.getString("instructor3"));
        
conVO.setfinicio3(resultSet.getString("finicio3"));
        
conVO.setftermino3(resultSet.getString("ftermino3"));
        
conVO.setTcasillero(resultSet.getString("tcasillero"));
        
conVO.setLocal(resultSet.getString("localizacion"));
        
conVO.setNumCasi(resultSet.getString("numero"));
        
conVO.setfinicioCa(resultSet.getString("finicioCa"));
        
conVO.setfterminoCa(resultSet.getString("fterminoCa"));
        
conVO.setVismen(resultSet.getString("visita_mensual"));
        
conVO.setfregaini(resultSet.getString("finicioRe"));
        
conVO.setfregater(resultSet.getString("fterminoRe"));

        }
//// 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;


La consulta la realiza de manera optima (bien) cuando todas y cada una de las tablas contienen informacion sobre un cliente, pero el problema que tengo es que cuando una de las tablas no aparece la informacion de un cliente (Ya que no es necesario llenar todas las tablas, al menos que el cliente asi lo desee) no realiza la busqueda y por lo tanto no me muestra informacion alguna sobre algun cliente determinado. Al ejecutar el problama y revisarlo linea por linea el error aparece cuando al entrar al WHILE no accede a las siguientes sentencias y se "salta" hasta finalizar el WHILE.

No se si habra algun comado o algo que me pueda ayudar a evitar este problema???????