Buscar datos de una BD que están en un JTable
Publicado por Rogelio Cohen (3 intervenciones) el 31/10/2018 23:14:50
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.
DaoReportes contiene el método para 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.
DaoReportes contiene el método para 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
public BeanReportes busRep(BeanReportes Reportes){
conectar();
try{
int id;
sentenciaSQL = "SELECT MAX(ID_R)+1 FROM REPORTES";
ps = conn.prepareStatement(sentenciaSQL);
rs = ps.executeQuery();
if (rs.next())
id = rs.getInt(1);
else
id = 1;
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 (?)";
ps = conn.prepareStatement(sentenciaSQL);
ps.setString(1,Reportes.getUsu());
rs = ps.executeQuery();
if (rs.next()){
Reportes = new BeanReportes();
Reportes.setNumR(rs.getString(1));
Reportes.setUsu(rs.getString(2));
Reportes.setFechaA(rs.getString(3));
Reportes.setTipoEquipo(rs.getString(4));
Reportes.setSerieE(rs.getString(5));
Reportes.setFechaC(rs.getString(6));
Reportes.setSolucion(rs.getString(7));
Reportes.setObs(rs.getString(8));
}
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: " + "busRep", true);
return null;
}
finally{
desconectar();
}
}
El código del botón es:
1
2
3
4
5
BeanReportes rep = new BeanReportes();
rep.setUsu(txtBusqueda.getText().trim());
DaoReportes repor = new DaoReportes();
repor.busRep(rep);
Al parecer si hace bien la busqueda pero no muestra el resultado en la tabla.
Valora esta pregunta


0