refrescar un registro para hacer una consulta nueva desde java netbeans a mysqlphpmyadmin


14 de Agosto del 2019

buen dia soy nuevo en esti de conexion de java netbeans a mysql wamp, estoy haciendo un sistema biblioteca carga desde la base de datos a java a una tabla, cuando me posiciono en el textfield escribo la consulta que a medida que escribo carga el registro del libro a una tabla la cual al hacer click se carga en mi formulario para ver la informacion del libro, cuando hago la consulta 1 la hace adecuadamente y la consulta 2 pero cuando vuelvo a hacer la consulta 1 no me sale el resultado, como si se embasurara la cache, ya limpie las tablas con TABLA.setModel(new DefaultTableModel());Clear_Table1(); y invoque un metodo sql sentencia String sql = "RESET QUERY CACHE"; pero no funciona, a ver si us pueden sugherime algo o que he estado haciendo mal desde el principio gracias de antemano estos son mis codigos

//este es el de la consulta conforme escribo en el txtfield

private void TXTBUSCARKeyPressed(java.awt.event.KeyEvent evt) {
String titulos[]={"ID","ISBN","TITULO","AUTOR","EDITORIAL","ESTANTE","NIVEL","COLORTEXTO","TEMATICA","CANTIDAD","ENPRESTAMO","DISPONIBLE",};
String registros[] = new String[36];
String sql = "SELECT *FROM libro WHERE ID LIKE '%" + TXTBUSCAR.getText() + "%' "
+ "OR ISBN LIKE '%" + TXTBUSCAR.getText() + "%'"
+ "OR TITULO LIKE '%" + TXTBUSCAR.getText() + "%'"
+ "OR AUTOR LIKE '%" + TXTBUSCAR.getText() + "%'"
+ "OR EDITORIAL LIKE '%" + TXTBUSCAR.getText() + "%'"
+ "OR ESTANTE LIKE '%" + TXTBUSCAR.getText() + "%'"
+ "OR NIVEL LIKE '%" + TXTBUSCAR.getText() + "%'"
+ "OR COLORTEXTO LIKE '%" + TXTBUSCAR.getText() + "%'"
+ "OR TEMATICA LIKE '%" + TXTBUSCAR.getText() + "%'"
+ "OR CANTIDAD LIKE '%" + TXTBUSCAR.getText() + "%'"
+ "OR ENPRESTAMO LIKE '%" + TXTBUSCAR.getText() + "%'"
+ "OR DISPONIBLE LIKE '%" + TXTBUSCAR.getText() + "%'" ;
model = new DefaultTableModel(null, titulos);
Conectar cc = new Conectar();
Connection conect = cc.conexion();
try {
Statement st = (Statement) conect.createStatement();
ResultSet rs = st.executeQuery(sql);
while (rs.next()) {
registros[0] = rs.getString("ID");
registros[1] = rs.getString("ISBN");
registros[2] = rs.getString("TITULO");
registros[3] = rs.getString("AUTOR");
registros[4] = rs.getString("EDITORIAL");
registros[5] = rs.getString("ESTANTE");
registros[6] = rs.getString("NIVEL");
registros[7] = rs.getString("COLORTEXTO");
registros[8] = rs.getString("TEMATICA");
registros[9] = rs.getString("CANTIDAD");
registros[10] = rs.getString("ENPRESTAMO");
registros[11] = rs.getString("DISPONIBLE");
model.addRow(registros);
}
TABLA.setModel(model);
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, ex);
}


}

//Este es el de el boton limpiar que no limpia nada

private void LIMPIARActionPerformed(java.awt.event.ActionEvent evt) {

TABLA.setModel(new DefaultTableModel());
Clear_Table1();
limpiar();
bloquear();
TXTBUSCAR.setText(null);
TXTBUSCAR.setText(" ");
// este metodo esta abajo descrito desde aqui lo invovo

ejecutar();

}

 

 

 

//este es el que limpia el cache mysql

public boolean ejecutar() {

String sql = "RESET QUERY CACHE";

Conectar cc = new Conectar();
Connection conect = cc.conexion();

try {
Statement st = (Statement) conect.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
st.executeUpdate(sql);
ResultSet rs = st.executeQuery(sql);
st.close();

} catch (SQLException e) {
e.printStackTrace();JOptionPane.showMessageDialog(null, e);
return false;
}
JOptionPane.showMessageDialog(null, "limpio cache");
return true;