Foro sobre Java SE > ELIMINAR DATOS DE UN JTABLE Y VOLVER HACER UNA BUSQUEDA
Hola compañeros:
Para realizar una busqueda en una table de MySQL, pulso el botón Buscar, me muestra una JDialog para seleccionar el va01 y llama al método siguiente para mostrar un Jtable:
void CargarTablaFicha(){ //Para poner los títulos de la tabla String[] titulos = {"Id","CULTIVO", "POSOLOGIA", "D. MINIMA", "D. MAXIMA", "PLAZO SEGURIDAD", "OBSERV.?"}; //Para agregar los elementos de la tabla String[] registro = new String[7]; modelo = new DefaultTableModel(null, titulos); //Para establecer la conexión ConexionMySQL mysql = new ConexionMySQL(); Connection cn = mysql.Conectar(); //Crea la consulta MySQL //JOptionPane.showMessageDialog(null, "El nº de produco es: " + va35); sSQL = "SELECT Id, Cultivo, Posol, Dosis1, Dosis2, Plazo, A2 FROM producto WHERE NProdFito = '" + va01+ "' AND Clase = 'I' ORDER BY Cultivo, Posol"; try { Statement st = cn.createStatement(); ResultSet rs = st.executeQuery(sSQL); while(rs.next()){ registro[0] = rs.getString("Id"); registro[1] = rs.getString("Cultivo"); registro[2] = rs.getString("Posol"); registro[3] = rs.getString("Dosis1"); registro[4] = rs.getString("Dosis2"); registro[5] = rs.getString("Plazo"); registro[6] = rs.getString("A2"); modelo.addRow(registro); } //Se agregan los datos a la tabla tblConsulta.setModel(modelo); rs.close(); } catch (SQLException ex) { JOptionPane.showMessageDialog(null, ex); } }
Hasta aquí todo correcto.
Si vuelvo a pulsar el botón buscar, hace la selección del Id pero me sigue mostrando los datos de la primera búsqueda.
Incorporo otro método que se acciona con el botón de cancelar y activa el método:
public void eliminar(){ DefaultTableModel tb = (DefaultTableModel) Jtable.getModel(); int a = JtablegetRowCount()-1; for (int i = a; i >= 0; i--) { tb.removeRow(tb.getRowCount()-1); // o con “modelo.removeRow(0);” o con // “modelo.setNumRows(0);” también funciona } //cargaTicket(); }
Con este método, borra los datos de la JTable pero cuando hago otra búsqueda no carga ningún dato en la JTable.
¿ Me podeis indicar que falta en el método o como poderlo solucionar ?
Hola compañeros:
Para realizar una busqueda en una table de MySQL, pulso el botón Buscar, me muestra una JDialog para seleccionar el va01 y llama al método siguiente para mostrar un Jtable:
void CargarTablaFicha(){
//Para poner los títulos de la tabla
String[] titulos = {"Id","CULTIVO", "POSOLOGIA", "D. MINIMA", "D. MAXIMA", "PLAZO SEGURIDAD", "OBSERV.?"};
//Para agregar los elementos de la tabla
String[] registro = new String[7];
modelo = new DefaultTableModel(null, titulos);
//Para establecer la conexión
ConexionMySQL mysql = new ConexionMySQL();
Connection cn = mysql.Conectar();
//Crea la consulta MySQL
//JOptionPane.showMessageDialog(null, "El nº de produco es: " + va35);
sSQL = "SELECT Id, Cultivo, Posol, Dosis1, Dosis2, Plazo, A2 FROM producto WHERE NProdFito = '" + va01+ "' AND Clase = 'I' ORDER BY Cultivo, Posol";
try {
Statement st = cn.createStatement();
ResultSet rs = st.executeQuery(sSQL);
while(rs.next()){
registro[0] = rs.getString("Id");
registro[1] = rs.getString("Cultivo");
registro[2] = rs.getString("Posol");
registro[3] = rs.getString("Dosis1");
registro[4] = rs.getString("Dosis2");
registro[5] = rs.getString("Plazo");
registro[6] = rs.getString("A2");
modelo.addRow(registro);
}
//Se agregan los datos a la tabla
tblConsulta.setModel(modelo);
rs.close();
}
catch (SQLException ex) {
JOptionPane.showMessageDialog(null, ex);
}
}
Hasta aquí todo correcto.
Si vuelvo a pulsar el botón buscar, hace la selección del Id pero me sigue mostrando los datos de la primera búsqueda.
Incorporo otro método que se acciona con el botón de cancelar y activa el método:
public void eliminar(){
DefaultTableModel tb = (DefaultTableModel) Jtable.getModel();
int a = JtablegetRowCount()-1;
for (int i = a; i >= 0; i--) {
tb.removeRow(tb.getRowCount()-1); // o con “modelo.removeRow(0);” o con
// “modelo.setNumRows(0);” también funciona
}
//cargaTicket();
}
Con este método, borra los datos de la JTable pero cuando hago otra búsqueda no carga ningún dato en la JTable.
¿ Me podeis indicar que falta en el método o como poderlo solucionar ?
Gracias anticipadas y saludos.