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
pero declaro otra funcion para llamar ahora a los vehiculos y la tabla no se llena y esta si
en el formulario principal de conductores tengo este codigo que si me funciona y me actualiza su tabla
y en el formulario de vehiculos uso este que es el mismo solo cambiando el identidad por el placa
ayuda please es para un proyecto y estoy trancado
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


0