Ciclo While y sentencia Return
Publicado por Guido B (1 intervención) el 21/11/2007 06:47:24
Estoy trabajando en una pequeña aplicacion con base de datos. La idea es que inserte registros con 6 datos (5 en realidad pues uno es autonumerico) y las recupere en una tabla aparte...
Implemente este metodo "muestradatos()" que es el encargado de levantar los datos desde la base de datos.
Mi problema es que si bien la tabla (que muestra los datos cuando le doy al boton consultar) me muestra la cantidad de registros que yo agregue, lo hace con la particularidad que me repite los datos del ultimo registro... es decir, si yo agregue 10 registros a la base, cuando los consulto, no me muestra los 10 que puse, sino que repite el ultimo 10 veces.
public Object muestradatos(){
/* bla bla bla */
while (resultSet.next()) {
Object[] fila = new Object[6];
for (int i=0;i<6;i++){
fila[i] = resultSet.getObject(i+1);
}
a=fila; // Punto donde guardo el dato
}
} catch (Exception g) {
g.printStackTrace();
}
return a; // Punto donde devuelvo el dato
Yo creo que el problema esta en el ciclo WHILE, que mientras encuentre registros va a sobreescribir mi "a" que es la fila que le paso cada vez a la tabla, pues yo tengo el return luego de tooodas las vueltas de WHILE. Como hago para que cada vez que de una vuelta el ciclo WHILE, me devuelva el valor que tiene mi "a" en ese instante?
Espero me puedan ayudar... Muchas gracias!!
Implemente este metodo "muestradatos()" que es el encargado de levantar los datos desde la base de datos.
Mi problema es que si bien la tabla (que muestra los datos cuando le doy al boton consultar) me muestra la cantidad de registros que yo agregue, lo hace con la particularidad que me repite los datos del ultimo registro... es decir, si yo agregue 10 registros a la base, cuando los consulto, no me muestra los 10 que puse, sino que repite el ultimo 10 veces.
public Object muestradatos(){
/* bla bla bla */
while (resultSet.next()) {
Object[] fila = new Object[6];
for (int i=0;i<6;i++){
fila[i] = resultSet.getObject(i+1);
}
a=fila; // Punto donde guardo el dato
}
} catch (Exception g) {
g.printStackTrace();
}
return a; // Punto donde devuelvo el dato
Yo creo que el problema esta en el ciclo WHILE, que mientras encuentre registros va a sobreescribir mi "a" que es la fila que le paso cada vez a la tabla, pues yo tengo el return luego de tooodas las vueltas de WHILE. Como hago para que cada vez que de una vuelta el ciclo WHILE, me devuelva el valor que tiene mi "a" en ese instante?
Espero me puedan ayudar... Muchas gracias!!
Valora esta pregunta


0