Ver Mensaje Individual
  #10 (permalink)  
Antiguo 21/09/2006, 00:10
Raiko
 
Fecha de Ingreso: noviembre-2005
Mensajes: 97
Antigüedad: 18 años, 6 meses
Puntos: 0
Entiendo tu problema, pero yo creo que no tienes ninguno la cuestión es organizar mejor las cosas. Puedes hacer dos cosas:

1. Copiar el método obtenerObjetos dentro del while de ConsultaObject
2. Simplemente cambiar la forma en la que haces el obtenerObjetos. Cuando entra ahí ya sabes que hay resultados leídos y un next() hecho. Puedes crear un objeto nada más entrar ya y luego hacer el while también dentro de ese método. O usar el do-while como sigue:


Código PHP:
//Este método recibe la cadena sql a ejecutar, con una Connection y Statement declarados por supuesto y que no expongo aquí por cuestiones de código más claro...

public Object[] ConsultaObject(String SQL,Class Clase) {
   
Object[] Resultado;
   
Rs St.executeQuery(SQL);
   if (
Rs.next()) { //Aquí necesito validar si hay registros.
      
Resultado this.ObtenerObjetos(Rs,Clase); //llama a otro método
   
}
   else {
      
Resultado null;
   }
   return 
Resultado;   
}

//Este otro método recibe por párametro el ResulSet creado en el anterior y se encarga de crear el Object[] según los campos del parámetro Class y de la metadata del ResultSet (que no expongo por el motivo que ya expliqué anteriormente)

private Object[] ObtenerObjetos(ResultSet Rs,Class Clase) {
   
Vector Listado = new Vector();
   do{
      
Object Objeto Clase.newInstance();
      
//{
      //Código de llenado de Objeto con los datos de la fila
      //}
    
Listado.add(Objeto);
   }while(
Rs.next());


Y ya está si te da problemas me dices, saludos!!