Datensatz von JTable und datenbank löschen

javama

Erfahrenes Mitglied
Hallo
ich habe da mal eine Frage und zwar, ich habe eine Jtable (table), wenn ich einen markierten Datensatz über einen Button lösche, wird zwar in der datenbak gelöscht (mysql) aber der ist immer noch in der tabelle,
wie kann ich das realisiere dass der datensatz von der tabelle und datenbank gleichzeitig entfernt wird.

Java:
private void mitarbeiterLoeschen() 
{
		
    int rows [] = table.getSelectedRows();
    int i;		 
		 		   
     if(rows.length > 0) {
		    	
         int erg = JOptionPane.showConfirmDialog(this, "Löschen ?", "Hinweis",                                    JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE);
 if(erg == JOptionPane.YES_OPTION){
          for(i=rows.length; i>0; i--)
          {
              System.out.println("(String)myDefaultModel.getValueAt([i-1],, 0): "+(String)   myDefaultModel.getValueAt   (rows[i-1], 0));    
              System.out.println(" table.getModel().getValueAt([i-1],  0).toString(): "+table.getModel().getValueAt(rows[i-  1], 0).toString());
			    	   
            dbMit.mitarbeiterLoeschen(table.getModel().getValueAt(rows[i-1], 0).toString());
		    		
		    		
          }
		    	 
                      }
		    }else JOptionPane.showMessageDialog(null,
			"Bitte wählen Sie einen Datensatz aus, die Sie löschen wollen");

		
	}

hat jemand eine Idee?
 
Zuletzt bearbeitet:

Fabio Hellmann

Erfahrenes Mitglied
Hi,
es gibt 2 Möglichkeiten:
1. Du lädst alle Daten neu in die Tabelle
2. Du löschst nur die Zeilen, die selektiert sind
Ich würde dir eher zu Zweiterem raten, da das um einiges performanter ist.

Gruß

Fabio
 

javama

Erfahrenes Mitglied
ja genau
ich lösche nur die zeilen, die selektiert sind, das funktioniert schon, aber das problem ist, die selektierten zeilen werden schon in der Datenbank gelöscht, aber in der tabelle sind sie immer da, erst wenn ich die anwendung neu starte sind die gelöschten zeilen nicht mehr da.
 

Fabio Hellmann

Erfahrenes Mitglied
Das Löschen der Zeilen bezieht sich in meiner Aussage nicht auf die Datenbank, sondern auf deine GUI-Tabelle. Du löschst momentan nur die DB-Daten aber nicht die Zeilen aus der GUI-Tabelle.
 

javama

Erfahrenes Mitglied
das ist ja meine frage
wie kann ich auch die zeile aus der tabelle (GUI) löschen?
danke im voraus
 

javama

Erfahrenes Mitglied
Lösung gefunden
das problem lag an der überschriebenen removeRow()-Methode
 
Zuletzt bearbeitet: