Java - ayuda con JTable y Mysql

 
Vista:

ayuda con JTable y Mysql

Publicado por Danilo Mejia (3 intervenciones) el 24/07/2018 08:52:35
tengo un problema a la hora de mostrar los datos de una base de datos en un Jtable

Osea los datos de la tabla conductores si los muestra en la jtabla que cree para el con este codigo

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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
public DefaultTableModel obtenerDatosConductor()
{
    DefaultTableModel datos;
 
    String NombreColum[]={"N°Identidad","Nombre","Apellido","Edad","Direccion","Telefono"};
    String NombreColum2[]={"identidad","nombre","apellido","edad","direccion","telefono"};
 
    String origenTabla="tablaconductor";
    String consultaSQL="SELECT identidad,nombre,apellido,edad,direccion,telefono FROM tablaconductor;";
 
    Object[][] tDatos=obtenerTabla(NombreColum2,origenTabla,consultaSQL);
    datos=new DefaultTableModel(tDatos,NombreColum);
 
    return datos;
}
 
 
private Object[][] obtenerTabla(String[] NomCol, String tabla, String conSQL)
{
    int Registros=0;
 
    try {
        PreparedStatement pstm= conexion.obtenerConexion().prepareStatement("SELECT count(*) as total FROM "+tabla);
 
        ResultSet rsl=pstm.executeQuery();
        rsl.next();
 
        Registros=rsl.getInt("total");
        rsl.close();
    } catch (SQLException ex) {
        Logger.getLogger(consultasSQL.class.getName()).log(Level.SEVERE, null, ex);
    }
 
    Object[][] datos= new Object[Registros][NomCol.length];
    String col[]=new String[NomCol.length];
 
 
    try {
        PreparedStatement pstm=conexion.obtenerConexion().prepareStatement(conSQL);
        ResultSet rsl=pstm.executeQuery();
        int fila=0;
 
        while(rsl.next()){
            for(int colum=0;colum<=NomCol.length-1;colum++)
            {
                col[colum]=rsl.getString(NomCol[colum]);
                datos[fila][colum]=col[colum];
 
            }
            fila++;
        }
 
        rsl.close();
    } catch (SQLException ex) {
        Logger.getLogger(consultasSQL.class.getName()).log(Level.SEVERE, null, ex);
    }
   return datos;
}

pero declaro otra funcion para llamar ahora a los vehiculos y la tabla no se llena y esta si

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public DefaultTableModel obtenerDatosVehiculo()
{
    DefaultTableModel datos2;
 
    String NombreColum3[]={"N°Placa","Marca","Modelo","Año","Seguro","Lugar"};
    String NombreColum4[]={"placa","marca","modelo","año","seguro","lugar"};
 
    String origenTabla2="tablavehiculos";
    String consultaSQL2="SELECT placa,marca,modelo,año,seguro,lugar FROM tablavehiculos ;";
 
    Object[][] tDatos2=obtenerTabla(NombreColum4,origenTabla2,consultaSQL2);
    datos2=new DefaultTableModel(tDatos2,NombreColum3);
 
    return datos2;
}


en el formulario principal de conductores tengo este codigo que si me funciona y me actualiza su tabla

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
private void actualizarTabla()
{
    int resultado=-1;
 
    DefaultTableModel datos=cSQL.obtenerDatosConductor();
    tablaCon.jtablaconductor.setModel(datos);
 
    for(int i=0;i<tablaCon.jtablaconductor.getRowCount();i++)
    {
        if(datos.getValueAt(i, 0).equals(identidad))
        {
            resultado=i;
        }
        tablaCon.jtablaconductor.getSelectionModel().setSelectionInterval(resultado, resultado);
    }
 
}

y en el formulario de vehiculos uso este que es el mismo solo cambiando el identidad por el placa

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
private void actualizarTabla2()
{
    int resultado=-1;
 
    DefaultTableModel datos=cSQL.obtenerDatosVehiculo();
    tablaVe.jTable1.setModel(datos);
 
    for(int i=0;i<tablaVe.jTable1.getRowCount();i++)
    {
        if(datos.getValueAt(i, 0).equals(placa))
        {
            resultado=i;
        }
        tablaVe.jTable1.getSelectionModel().setSelectionInterval(resultado, resultado);
    }
}

ayuda please es para un proyecto y estoy trancado
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
sin imagen de perfil
Val: 358
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

ayuda con JTable y Mysql

Publicado por Nicolas (137 intervenciones) el 24/07/2018 14:45:11
Hola Danilo.

Te paso un ejemplo que utilizo para cargar un jTable de JAVA. tblEditorial es un jTable agregado desde el editor de diseño.
Espero que te sea de ayuda.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
ArrayList<Editorial> lista = new ArrayList<>();
lista = cont.DevolverEditoriales();
DefaultTableModel tableModel = new DefaultTableModel();
String[] columnNames = {"ID", "Nombre", "Pais", "Telefono", "Persona De Contacto"};
tableModel.setColumnIdentifiers(columnNames);
Object[] fila = new Object[tableModel.getColumnCount()];
for (int i = 0; i < lista.size(); i++) {
 
    fila[0] = lista.get(i).getId();
    fila[1] = lista.get(i).getNombre();
    fila[2] = lista.get(i).getPais();
    fila[3] = lista.get(i).getTel();
    fila[4] = lista.get(i).getPersonaC();
    tableModel.addRow(fila);
}
tblEditorial.setModel(tableModel);
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