Java - Asi es como lo he hecho...sugerencias??

 
Vista:

Asi es como lo he hecho...sugerencias??

Publicado por Jose Antonio (17 intervenciones) el 18/03/2004 05:02:50
Vector columnas = new Vector();
while (resultado.next())
{
Vector filas = new Vector();
filas.addElement(resultado.getString("local"));
filas.addElement(resultado.getString("diaRecaudar"));
filas.addElement(resultado.getString("provincia"));
filas.addElement(resultado.getString("apellidos") +" ," + resultado.getString("nombre"));
filas.addElement(resultado.getString("dni"));
columnas.addElement(filas);
filas = null;
}

Object lista [][] = new Object[columnas.size()] [ ];
int i=0;
int j=0;
for ( i=0;i<columnas.size();i++)
lista[i] = ((Vector)columnas.get(i)).toArray();

Hay alguna manera de hacerlo directamente??? es necesario que devuelva un objeto de la clase Object [ ] [ ], porque el modelo de mi tabla lo requiere.

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Asi es como lo he hecho...sugerencias??

Publicado por Heihachi (31 intervenciones) el 18/03/2004 09:58:41
Porque no haces un "SELECT COUNT(*) FROM..." para averiguar el tamaño de tu consulta así no necesitarás guardarla primero en un vector dinámico?

Supongo que será más rápido que copiar todos los resultados de la consulta de un vector a una matriz, a parte del ahorro de memoria.

Aunque si la tabla se puede modificar entre las dos consultas (aplicación multiusuario?) hay un problema ahí...

Saludos!

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Asi es como lo he hecho...sugerencias??

Publicado por Jose Antonio (17 intervenciones) el 18/03/2004 14:03:02
Mi consulta es:

resultado = sentencia.executeQuery("SELECT DISTINCTROW "
+" a.nombre,a.apellidos,a.dni,b.local,b.diaRecaudar,b.provincia,b.idLocal,c.maquina"
+" FROM tblPropietario as a, tblLocal as b,tblMaquina as c"
+" WHERE a.idPropietario = b.idPropietario AND b.idLocal=c.idLocal AND b.idLocal = c.idLocal "
+" ORDER BY b.local,a.apellidos");

Pero aqui no puedo poner el COUNT(*) no?? donde deberia ponerlo??, lo he estado probando y me peta...

Gracias de todas formas, si hay una manera es como me has dicho, seguire investigando
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Asi es como lo he hecho...sugerencias??

Publicado por Heihachi (31 intervenciones) el 18/03/2004 14:32:42
Esta consulta a mi me ha ido bien:

SELECT COUNT(DISTINCTROW CeCodi,OpNumOper) FROM Operacions

y retorna correctamente el número de filas que posteriormente da:
SELECT DISTINCTROW CeCodi,OpNumOper FROM Operacions

así que en tu caso sería:
sentencia.executeQuery("SELECT COUNT(DISTINCTROW "
+" a.nombre,a.apellidos,a.dni,b.local,b.diaRecaudar,b.provincia,b.idLocal,c.maquina)"
+" FROM tblPropietario as a, tblLocal as b,tblMaquina as c"
+" WHERE a.idPropietario = b.idPropietario AND b.idLocal=c.idLocal AND b.idLocal = c.idLocal "
+" ORDER BY b.local,a.apellidos");

o eso creo.

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar