Foros del Web » Programación para mayores de 30 ;) » Java »

guardar jtable en bb.dd, solo filas seleccionadas

Estas en el tema de guardar jtable en bb.dd, solo filas seleccionadas en el foro de Java en Foros del Web. Hola, tengo un pequeño problema que no consigo resolver. Tengo un jtable y quiero guardar los datos de las filas en mi bb.dd. Se hacerlo ...
  #1 (permalink)  
Antiguo 08/01/2011, 05:05
 
Fecha de Ingreso: junio-2010
Mensajes: 44
Antigüedad: 13 años, 9 meses
Puntos: 0
guardar jtable en bb.dd, solo filas seleccionadas

Hola,
tengo un pequeño problema que no consigo resolver.

Tengo un jtable y quiero guardar los datos de las filas en mi bb.dd.
Se hacerlo de manera que guarde solo la fila seleccionada:

Código:
String id = (String) jTable1.getValueAt(jTable1.getSelectedRow(), 0);
String nombre = (String) jTable1.getValueAt(jTable1.getSelectedRow(), 1);
String apellido1 = (String) jTable1.getValueAt(jTable1.getSelectedRow(), 2);
String apellido2 = (String) jTable1.getValueAt(jTable1.getSelectedRow(), 3);

Connection conexion = null;
try{
      conexion = BD.getInstance().conexion;
      Statement st = conexion.createStatement();
      st.executeUpdate("INSERT INTO tabla(idJ,nombre.....)");
       ....
}catch(Exception e){
....
}

Tambien he conseguido hacerlo para que me guarde TODO EL JTABLE en la bb.dd:

Código:
for(int i = 0;i<jTable1.getRowCount();i++){

                String id = (String) jTable1.getValueAt(i, 0);
                String nombre = (String) jTable1.getValueAt(i, 1);
                String apellido1 = (String) jTable1.getValueAt(i, 2);
                String apellido2 = (String) jTable1.getValueAt(i, 3);
Connection conexion = null;
try{
      conexion = BD.getInstance().conexion;
      Statement st = conexion.createStatement();
      st.executeUpdate("INSERT INTO tabla(idJ,nombre.....)");
       ....
}catch(Exception e){
....
}

Pero, como puedo hacer que se guarde SOLO LAS FILAS SELECCIONADAS?? Siendo mas de una las filas seleccionadas claro.

La idea seria algo como antes, con el bucle for contando el numero de filas seleccionadas...pero no se como decirle que me guarde las seleccionadas puesto que lo que hago abajo no funciona:

Cita:
for(int i = 0;i<jTable1.getSelectedRowCount();i++){
String id = (String) jTable1.getValueAt(jTable1.getSelectedRow(i), 0);
String nombre = (String) jTable1.getValueAt(jTable1.getSelectedRow(i), 1);
String apellido1 = (String) jTable1.getValueAt(jTable1.getSelectedRow(i), 2);
String apellido2 = (String) jTable1.getValueAt(jTable1.getSelectedRow(i), 3);
Alguna idea?

Muchas gracias!
  #2 (permalink)  
Antiguo 10/01/2011, 13:42
 
Fecha de Ingreso: junio-2010
Mensajes: 44
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: guardar jtable en bb.dd, solo filas seleccionadas

alguien me puede echar un cable?

muchas gracias
  #3 (permalink)  
Antiguo 10/01/2011, 17:50
 
Fecha de Ingreso: septiembre-2008
Ubicación: Córdoba
Mensajes: 67
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: guardar jtable en bb.dd, solo filas seleccionadas

Fijate que el metodo getSelectedRows() te devuelve un arreglo con los indices de las filas seleccionadas. De ahi por cada indice haces como hacias cdo era una sola fila seleccionada. Saludos...
  #4 (permalink)  
Antiguo 11/01/2011, 03:43
 
Fecha de Ingreso: junio-2010
Mensajes: 44
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: guardar jtable en bb.dd, solo filas seleccionadas

Cita:
Iniciado por PachuG Ver Mensaje
Fijate que el metodo getSelectedRows() te devuelve un arreglo con los indices de las filas seleccionadas. De ahi por cada indice haces como hacias cdo era una sola fila seleccionada. Saludos...
Muchas gracias por responder :)

No me habia dado cuenta que getSelectedRows devuelve un arreglo.
pero aun asi, como recorro ese arreglo? es decir, si hago un for para recorrer en funcion del tamaño de ese arreglo, como accedo a cada fila seleccionada?

Porque esto no existe:
String id = (String) jTable1.getValueAt(jTable1.getSelectedRow(i), 0);


Y si lo hago como tu me dices, del modo que hacia al seleccionar solo una fila...:
Aunque ponga un for fuera, nose como acceder a cada fila seleccionada...no se si me explico.
Código:
String id = (String) jTable1.getValueAt(jTable1.getSelectedRow(), 0);
String nombre = (String) jTable1.getValueAt(jTable1.getSelectedRow(), 1);
String apellido1 = (String) jTable1.getValueAt(jTable1.getSelectedRow(), 2);
String apellido2 = (String) jTable1.getValueAt(jTable1.getSelectedRow(), 3);

Connection conexion = null;
try{
      conexion = BD.getInstance().conexion;
      Statement st = conexion.createStatement();
      st.executeUpdate("INSERT INTO tabla(idJ,nombre.....)");
       ....
}catch(Exception e){
....
}
un saludo y gracias
  #5 (permalink)  
Antiguo 11/01/2011, 09:15
Avatar de farfamorA  
Fecha de Ingreso: noviembre-2010
Ubicación: Lima
Mensajes: 136
Antigüedad: 13 años, 5 meses
Puntos: 24
Respuesta: guardar jtable en bb.dd, solo filas seleccionadas

Supón que tienes una tabla de 10 filas, y se han seleccionado las filas 1, 3, 4, 10. Por lo tanto, el método te devolvería el arreglo filasSelec = {1,3,4,10}.
Código Java:
Ver original
  1. int[] filasSelec = jTable1.getSelectedRows();
Entonces haces un bucle para recorrerlo de la siguiente manera:
Código Java:
Ver original
  1. for( int i = 0; i < filasSelec.length; i++){
  2. String id = (String) jTable1.getValueAt(jTable1.getSelectedRow(filasSelec[i]), 0);
  3. ...
  4. }
Salu2.
  #6 (permalink)  
Antiguo 11/01/2011, 10:58
 
Fecha de Ingreso: junio-2010
Mensajes: 44
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: guardar jtable en bb.dd, solo filas seleccionadas

Cita:
Iniciado por farfamorA Ver Mensaje
Supón que tienes una tabla de 10 filas, y se han seleccionado las filas 1, 3, 4, 10. Por lo tanto, el método te devolvería el arreglo filasSelec = {1,3,4,10}.
Código Java:
Ver original
  1. int[] filasSelec = jTable1.getSelectedRows();
Entonces haces un bucle para recorrerlo de la siguiente manera:
Código Java:
Ver original
  1. for( int i = 0; i < filasSelec.length; i++){
  2. String id = (String) jTable1.getValueAt(jTable1.getSelectedRow(filasSelec[i]), 0);
  3. ...
  4. }
Salu2.
Código:
String id = (String) jTable1.getValueAt(jTable1.getSelectedRow(filasSelec[i]), 0);
Esa linea me da error...porque el getSelectedRow no me acepta parametros.
Supongo que te refieres a hacer:

String id = (String) jTable1.getValueAt(filasSelec[i], 0);

No?
  #7 (permalink)  
Antiguo 11/01/2011, 21:02
Avatar de farfamorA  
Fecha de Ingreso: noviembre-2010
Ubicación: Lima
Mensajes: 136
Antigüedad: 13 años, 5 meses
Puntos: 24
Respuesta: guardar jtable en bb.dd, solo filas seleccionadas

Jejeje...
Se me pasó ese detalle, es que no lo compilé, sólo quise darte una idea en líneas generales. Qué bueno que entendiste lo que te trataba de explicar. Es exactamente como tú dices.

Salu2.
  #8 (permalink)  
Antiguo 12/01/2011, 09:57
 
Fecha de Ingreso: junio-2010
Mensajes: 44
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: guardar jtable en bb.dd, solo filas seleccionadas

Cita:
Iniciado por farfamorA Ver Mensaje
Jejeje...
Se me pasó ese detalle, es que no lo compilé, sólo quise darte una idea en líneas generales. Qué bueno que entendiste lo que te trataba de explicar. Es exactamente como tú dices.

Salu2.
Ok, solucioando el tema!

Muchas gracias!

Etiquetas: filas, jtable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:33.