Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

llenar un [][] con elresultado de un select (sql). por favor ayuda

264 views
Skip to first unread message

[ZoRo]

unread,
May 18, 2003, 9:16:13 AM5/18/03
to
estoy intentando llenar un array bidimensional con lo siguiente pero no se
como llenarlo.
como podeis ver la consulta a la base de datos para extraer los datos que me
lo llenarian esta hecha pero luego no se como se lo tengo que añadir.
me podeis ayudar?
gracias:
public Object [][] registros(){
String sqls="select nombre,apellido1,apellido2,dni,email from
alumnos";
Object[][] reg=null;
int colCount;
try{
rs = stmt.executeQuery(sqls);
colCount = md.getColumnCount();

}catch(SQLException ed){
System.out.println("ss");
}
return reg;
}

Tito

unread,
May 18, 2003, 9:23:24 AM5/18/03
to
Para mostrar los resultados en un JTable no hace falta que los traslades a
un array bidimensional.

Para consulta:
http://manning.spindoczine.com/sbe/

Saludos,
Tito


[ZoRo]

unread,
May 18, 2003, 12:29:33 PM5/18/03
to
No consigo hacerlo con el manual que me has pasado, seguramente por falta de
conocimeintos y bajo ingles.

No se si alguien me podrá ayudar,lo necesito de veras.

Os comento de nuevo el problema.
he hecho un programilla en swing y queiro presentar un JTable y para ello ya
he logrado tomar las columnas y presentarlñas, sus nombres, pero ahora de
una sql (un select) queiro mostrar los registros correspondientes pero nolo
logro
para ello si hago, si lo intento rellenar con un array bidimensinal ya
contruido no tengo problemas, de esta menra:
final Object[][] data = {
{"Mary", "Campione", "Snowboarding", new Integer(5), new
Boolean(false)},
{"Alison", "Huml", "Rowing", new Integer(3), new
Boolean(true)},
{"Kathy", "Walrath", "Chasing toddlers", new Integer(2), new
Boolean(false)}
};


pero si los datos, como os he dicho ya, los quiero tomar de una select no se
como rellenar el array bidimensional.

Me podríais ayudar?
el metodo para el select sería este:

public Object [][] registros(){
String sqls="select nombre,apellido1,apellido2,dni,email from
alumnos";

Object[][] reg={};


int colCount;
try{
rs = stmt.executeQuery(sqls);
colCount = md.getColumnCount();

while(rs.next()) {
for(int i=0;i<colCount;i++){
//aqui me imagino que se rellenaria el array pero no se como

P. Martinez

unread,
May 18, 2003, 1:42:54 PM5/18/03
to
Utiliza un bucle como este:

int ifila = 0;


while(rs.next()) {
for(int i=0;i<colCount;i++){

reg[ifila][i] = rs.getString(i);
}
ifila++;
}
_____________________________________________________________
"[ZoRo]" <granbilba...@latinmail.com> escribió en el mensaje
news:ba8cdn$qbmrt$1...@ID-59646.news.dfncis.de...

znôrt

unread,
May 18, 2003, 5:54:26 PM5/18/03
to

No está diciendo que sea eso lo que necesite (yo tambien me temo que
si, pero claro, como no lo dice ...:-D )

Hay un post idéntico al anterior. Se ve ke estamos en époka de
evaluaciones.

Al autor original ... esto está recién posteado y resuelto, mira los
últimos 10 o 20 mensajes. Si es que ni eso :-P

Y tomad nota de lo que dice Tito. JTable separa la preentación del
modelo, podéis implementar el modelo como queráis, no tiene porque ser
un array bidimensional.

A Tito. Se puede, por supuesto, basar el modelo en la navegación
directa del resultset. Es simple y elegante. La putada (kon perdón) es
que *cualquier* evento de redibujado de la presentación implicará un
acceso a la base de datos. Esto puede ser prohibitivo en remoto si no
puedes encomendar tu alma sin reservas a un cache angelical. Si eres
un incrédulo como yo, recurrirás sin duda a la técnica de precargar el
resultset en un array bidimensional, es decir, a ser tu propio angel
del Santísimo Cache ;-).

hermano znôrt

EdUarDo

unread,
May 19, 2003, 5:51:46 AM5/19/03
to
> Y tomad nota de lo que dice Tito. JTable separa la preentación del
> modelo, podéis implementar el modelo como queráis, no tiene porque ser
> un array bidimensional.

Dudo mucho que sepa qué es un modelo si no es capaz de hacer un bucle...


Tito

unread,
May 19, 2003, 5:09:38 PM5/19/03
to
> No está diciendo que sea eso lo que necesite (yo tambien me temo que
> si, pero claro, como no lo dice ...:-D )

Mi suposición se basaba en un mensaje reciente del mismo autor en el que
pregunta lo mismo y en el que sí hace referencia a JTable.

> A Tito. Se puede, por supuesto, basar el modelo en la navegación
> directa del resultset. Es simple y elegante. La putada (kon perdón) es
> que *cualquier* evento de redibujado de la presentación implicará un
> acceso a la base de datos. Esto puede ser prohibitivo en remoto si no
> puedes encomendar tu alma sin reservas a un cache angelical. Si eres
> un incrédulo como yo, recurrirás sin duda a la técnica de precargar el
> resultset en un array bidimensional, es decir, a ser tu propio angel
> del Santísimo Cache ;-).

No hace falta ser demasiado incrédulo, está claro que la cosa será MUY lenta
si cada vez que mueves una scrollbar provocas un acceso remoto. No sé si
habrá drivers JDBC que hagan este tipo de cosas, me refiero a montar un
nivel de cache (¿conoces alguno?). Si no, lo que dices tú, siempre puedes
montarte una cache por tu cuenta, siendo la solución más simple una
colección local que contenga todo el resultado.

Saludos, y gracias por abrirme los ojos al mundo real. ;)
Tito


0 new messages