Java - Como actualizar la tabla en tiempo de ejecución

 
Vista:
sin imagen de perfil

Como actualizar la tabla en tiempo de ejecución

Publicado por carlo (11 intervenciones) el 28/04/2021 01:41:39
Tengo un problema me puede ayudar es que tengo dos interfaces una de productos que inserto, actualizo y elimino pero a su vez en la jtable cuando se le da clic izquierdo da la opción de crear una promoción me sale la interfaz creo la promoción, pero no se me actualiza en ese momento de ejecución cuando le doy en el botón de la otra interfaz no se como hacer eso si me llena la tabla pero tengo q cerrar la propia interfaz y volver abrirla
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
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Como actualizar la tabla en tiempo de ejecución

Publicado por Billy Joel (874 intervenciones) el 29/04/2021 20:50:03
Cada vez que interactues con la base de datos, recarga tu JTable.
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
sin imagen de perfil

Como actualizar la tabla en tiempo de ejecución

Publicado por carlo (11 intervenciones) el 29/04/2021 21:12:16
Si pero no sé que código tengo que utilizar para q se actualice el jtable, yo tuve q crear un botón de refrescar y le pise el método de llenartabla pero cuando pasó de jframe a un jpanel no se refrescar la jtable.
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
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Como actualizar la tabla en tiempo de ejecución

Publicado por Billy Joel (874 intervenciones) el 29/04/2021 21:20:09
Si subes el código te puedo explicar.
También puedes descargarte anydesk nos ponemos de acuerdo y te explico desde tu computadora.

Saludos,
Billy Joel
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
sin imagen de perfil

Como actualizar la tabla en tiempo de ejecución

Publicado por carlo (11 intervenciones) el 29/04/2021 21:35:36
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
public void llenartabla(String buscar){
      String[] datos = new String[10];
      modelo=new DefaultTableModel(null, columnNames);
      try {
        ResultSet rs = cone.consultaBD("SELECT * "
                + "FROM productos p INNER JOIN subcategorias s ON p.id_subcategoria=s.id INNER JOIN marcas m ON p.id_marca=m.id "
                + "INNER JOIN imagenes_productos ON imagenes_productos.id_producto=p.id "
                + "WHERE CONCAT(p.id, nombre_producto, precio_venta, cantidad, garantias, s.nombre, m.nombre, id_subcategoria, id_marca, ruta_imagen) like '%"+buscar+"%'");
        while(rs.next( )) {
            datos[0]=rs.getString("p.id");
            datos[1]=rs.getString("nombre_producto");
            datos[2]=rs.getString("precio_venta");
            datos[3]=rs.getString("cantidad");
            if(rs.getString("ofertas") != null){
                datos[4]= rs.getString("ofertas");
            }else{
                 datos[4] = "No Disponible";
            }
             if(rs.getString("descuentos") != null){
                datos[5]= rs.getString("descuentos");
            }else{
                 datos[5] = "No Disponible";
            }
 
            datos[6]=rs.getString("garantias");
            datos[7]=rs.getString("s.nombre");
            datos[8]=rs.getString("m.nombre");
            datos[9]=rs.getString("ruta_imagen");
            modelo.addRow(datos);
        }
        tablaContenido.setModel(modelo);
        rs.close();
       } catch (SQLException ex) {
       Logger.getLogger(gestionproducto.class.getName()).log(Level.SEVERE, null, ex);
       }
    }
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
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Como actualizar la tabla en tiempo de ejecución

Publicado por Billy Joel (874 intervenciones) el 29/04/2021 21:57:15
Dato de buena práctica: En las consultas a las bases de datos, debes evitar hacer [select *]; Eso lo haces cuando estas probando consultas, pero en los programas debes ser mas específico.

Imagina que el día de mañana viene alguien y cambia el orden de las columnas de la tabla o agregan/quitan columnas de las tablas.
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
sin imagen de perfil

Como actualizar la tabla en tiempo de ejecución

Publicado por carlo (11 intervenciones) el 29/04/2021 22:20:22
En eso si tienes razón pero como son 10 campos q la tabla van a tener entonces no quise especificar que campos quiero llamar, pero en el método de llenartabla no sé como hacer para q se llene el campo de ofertas y descuentos.
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
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Como actualizar la tabla en tiempo de ejecución

Publicado por Billy Joel (874 intervenciones) el 29/04/2021 22:32:41
Mira esto...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public void llenartabla(String buscar) {
    try {
        ResultSet rs = cone.consultaBD("SELECT * "
                + "FROM productos p INNER JOIN subcategorias s ON p.id_subcategoria=s.id INNER JOIN marcas m ON p.id_marca=m.id "
                + "INNER JOIN imagenes_productos ON imagenes_productos.id_producto=p.id "
                + "WHERE CONCAT(p.id, nombre_producto, precio_venta, cantidad, garantias, s.nombre, m.nombre, id_subcategoria, id_marca, ruta_imagen) like '%" + buscar + "%'");
        String[] columnas = new String[rs.getMetaData().getColumnCount()];
        for (int i = 0; i < columnas.length; i++) {
            columnas[i] = rs.getMetaData().getColumnName(i);
        }
 
        List<String[]> resultados = new ArrayList();
        while (rs.next()) {
            String[] r = new String[columnas.length];
            for (int i = 0; i < columnas.length; i++) {
                r[i] = rs.getString(i + 1);
            }
            resultados.add(r);
        }
        String [][] data = new String[resultados.size()][columnas.length];
        for (int i = 0; i < data.length; i++) {
            data[i] = resultados.get(i);
        }
        DefaultTableModel modelo = new DefaultTableModel(data, columnas);
        tablaContenido.setModel(modelo);
        rs.close();
    } catch (SQLException ex) {
        Logger.getLogger(gestionproducto.class.getName()).log(Level.SEVERE, null, ex);
    }
}

Pruebalo y me comentas!!

Saludos,
Billy Joel
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
sin imagen de perfil

Como actualizar la tabla en tiempo de ejecución

Publicado por carlo (11 intervenciones) el 01/05/2021 23:59:39
No me sirvió me sale un error en la linea 12.
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
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Como actualizar la tabla en tiempo de ejecución

Publicado por Billy Joel (874 intervenciones) el 02/05/2021 00:17:18
Reemplazala por:
1
java.util.List<String[]> resultados = new java.util.ArrayList();

Saludos,
Billy Joel
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
sin imagen de perfil

Como actualizar la tabla en tiempo de ejecución

Publicado por carlo (11 intervenciones) el 03/05/2021 00:36:11
No me funciono pero creo que será bueno es crear un botón que refresque el jtable, pero en utilizado el método de llenartabla pero no se porque no funciona cuando paso la interfaz a un jpanel.
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
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Como actualizar la tabla en tiempo de ejecución

Publicado por Billy Joel (874 intervenciones) el 03/05/2021 04:34:19
Qué tal si agendamos una reunión a través de AnyDesk y verás que si funciona.
Escríbeme al email [email protected] o al +50765616989 y pongámonos de acuerdo.


Saludos,
Billy Joel
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
sin imagen de perfil

Como actualizar la tabla en tiempo de ejecución

Publicado por carlo (11 intervenciones) el 29/04/2021 21:37:10
1
2
3
4
cone.modificaBD("UPDATE productos SET ofertas="+JToferta.getText()+ ", descuentos="+JTdescuento.getText()+" WHERE id="+JLid.getText());
        this.setVisible(true);
        prod.llenartabla("");
        dispose();

Este el código de la otra interfaz q se abre para hacer la promoción
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