Buscar datos de una BD que están en un JTable
Publicado por Rogelio Cohen (3 intervenciones) el 01/11/2018 01:05:56
Buenas tardes, mi duda es como filtrar algunos datos de una BD que aparecen en un JTable a partir de escribir en un JTextField el párametro de búsqueda.
Tengo un query almacenado en un método de una clase que se llama daoReportes y quiero llamar a ese método a la hora de presionar un btnFiltrar.
DaoReportes ejecuta el query para hacer la busqueda en la BD ayudado de un BeanReportes que contiene los métodos get y set de los atributos a buscar.
El código del botón es:
Al parecer si hace bien la busqueda pero no muestra el resultado en la tabla.
Tengo un query almacenado en un método de una clase que se llama daoReportes y quiero llamar a ese método a la hora de presionar un btnFiltrar.
DaoReportes ejecuta el query para hacer la busqueda en la BD ayudado de un BeanReportes que contiene los métodos get y set de los atributos a buscar.
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
DaoReportes contiene:
public BeanReportes [] buscarRepor(String nombre){
conectar();
BeanReportes[] Reportes;
BeanReportes Repo;
int i = 0;
int cant = 0;
try{
sentenciaSQL = "SELECT COUNT (*) FROM REPORTES";
ps = conn.prepareStatement(sentenciaSQL);
rs = ps.executeQuery();
if (rs.next()){
cant = rs.getInt(1);
}
Reportes = new BeanReportes[cant];
sentenciaSQL = "SELECT NUMERO_REPORTE, NOMBRE, " +
"FECHA_APERTURA, TIPO, SERIE_EQUIPO, FECHA_CIERRE, TIPO_SOL, OBS " +
"FROM REPORTES " +
"JOIN USUARIOS ON REPORTES.ID_USUARIO = USUARIOS.ID_U " +
"JOIN TIPO_EQUIPO ON REPORTES.ID_TIPOEQ = TIPO_EQUIPO.ID_TIPOE " +
"JOIN SOLUCION ON REPORTES.ID_SOL = SOLUCION.ID_SOLU " +
"WHERE UPPER (USUARIOS.NOMBRE) LIKE UPPER ('" + nombre + "')";
ps = conn.prepareStatement(sentenciaSQL);
rs = ps.executeQuery();
while (rs.next()){
Reportes[i] = new BeanReportes();
Reportes[i].setNumR(rs.getString(1));
Reportes[i].setUsu(rs.getString(2));
Reportes[i].setFechaA(rs.getString(3));
Reportes[i].setTipoEquipo(rs.getString(4));
Reportes[i].setSerieE(rs.getString(5));
Reportes[i].setFechaC(rs.getString(6));
Reportes[i].setSolucion(rs.getString(7));
Reportes[i].setObs(rs.getString(8));
i++;
}
return Reportes;
}
catch (SQLException ex){
UtilsGUI.showError(ConfigDataBase.DB_T_ERROR, ex.getSQLState(), ConfigDataBase.DB_ERR_QUERY + "\n\n" +
ex.getMessage() + "\n\n" + sentenciaSQL + "\n\nUbicación: " + "getRepDet", true);
return null;
}
finally{
desconectar();
}
}
El código del botón es:
1
2
BeanReportes busRep [] = report.buscarRepor(txtBusqueda.getText());
JOptionPane.showMessageDialog(this, "Buscado correctamente");
Al parecer si hace bien la busqueda pero no muestra el resultado en la tabla.
Valora esta pregunta


0