Falsche Zeile wird in JTable gelöscht

didi577

Bekanntes Mitglied
Hi,

ich arbeite gerade an meiner ersten Methode mit Parameterübergabe. Es funktioniert soweit, jedoch wird in der Datenbankn nicht die selektierte Zeile in der GUI sondern die Zeile danach gelöscht (z.B. ich lösche Zeile 400 -> gelöscht wird aber Zeile 401)
Die Löschmethode in der Klasse MySQL:
Java:
public void loeschen(Object selected) {
        try {
            PreparedStatement pst = con.prepareStatement("DELETE FROM fragen WHERE fragen_id = ?");
               pst.setObject(1, selected);
               pst.executeUpdate();
           
        } catch (SQLException e) {
            System.out.println(e);
        }
   }
Der ActionListener in der Klasse LoeGUI:
Java:
btnLoeschen.addActionListener(new LoeschenBtnAction() {
           @Override
           public void actionPerformed(ActionEvent e) {
               
               int answer = JOptionPane.showConfirmDialog(LoeGUI.this, "Wollen Sie den Datensatz wirklich löschen?", "Bestätigen", JOptionPane.YES_NO_OPTION);
               if (answer == JOptionPane.YES_OPTION) {
               
               DefaultTableModel tblm = (DefaultTableModel)tblLoeschen.getModel();
               int row = tblLoeschen.getSelectedRow();
               Object selected = tblm.getValueAt(row, 0);
               int modelRow = tblLoeschen.convertRowIndexToModel(row);
               tblm.removeRow(modelRow);
    mysql.loeschen(tblm.getValueAt(row,0));
               lblLoeschen.setVisible(true);
               tblm = new DefaultTableModel(mysql.holeFragen(), new String [] {"fragen_id", "kurs", "ort", "dozent", "datum"});
               tblLoeschen.setRowSelectionInterval(0, 0);
es geht speziell um diesen Aufruf:
Java:
    mysql.loeschen(tblm.getValueAt(row,0));
 

mrBrown

Super-Moderator
Mitarbeiter
Da werden vermutlich die Indizes unterschiedlich beginnen, warum ist aber nur Raterei, dazu müsste man den wesentlichen Code sehen, zB das füllen des Models.
 

didi577

Bekanntes Mitglied
das Interessante ist, dass ich vor dem Umbau die LöschMethode noch im ActionListener hatte und dort die richtige Zeile gelöscht wurde:
Java:
public void actionPerformed(ActionEvent e) {
               
               int answer = JOptionPane.showConfirmDialog(LoeGUI.this, "Wollen Sie den Datensatz wirklich löschen?", "Bestätigen", JOptionPane.YES_NO_OPTION);
               if (answer == JOptionPane.YES_OPTION) {
               
               DefaultTableModel tblm = (DefaultTableModel)tblLoeschen.getModel();
               int row = tblLoeschen.getSelectedRow();
               Object selected = tblm.getValueAt(row, 0);
               int modelRow = tblLoeschen.convertRowIndexToModel(row);
               tblm.removeRow(modelRow);
               Connection con = mysql.getCon();
                               
                   try {
                                       
                   PreparedStatement pst = con.prepareStatement("DELETE FROM fragen WHERE fragen_id = ?");
                   pst.setObject(1, selected);
                   pst.executeUpdate();
                           
                       } catch (SQLException ex) {
                       System.out.println(e);

               }
               lblLoeschen.setVisible(true);
               tblm = new DefaultTableModel(mysql.holeFragen(), new String [] {"fragen_id", "kurs", "ort", "dozent", "datum"});
               tblLoeschen.setRowSelectionInterval(0, 0); 
               }
           
           }
der Code zum Löschen ist doch identisch??!!
 

mrBrown

Super-Moderator
Mitarbeiter
Ah, nein ist nicht der gleiche Code:

Code:
Object selected = tblm.getValueAt(row, 0); //Du fragst das ausgewählte Objekt an Position row ab
int modelRow = tblLoeschen.convertRowIndexToModel(row);
tblm.removeRow(modelRow); //Du löscht dien Zeile an Position row aus dem Model, alle dahinter rutschen einen nach vorne
mysql.loeschen(tblm.getValueAt(row,0)); //Du löscht den Wert aus der Datenbank, er jetzt im Model an Position row steht, also der, der hochgerutscht ist
 

didi577

Bekanntes Mitglied
hätte ich nicht gefunden, Danke :)
um es zu verstehen, ich habe es jetzt so umgebaut und es funktioniert, er löscht die markierte Zeile
Java:
public void actionPerformed(ActionEvent e) {
               
               int answer = JOptionPane.showConfirmDialog(LoeGUI.this, "Wollen Sie den Datensatz wirklich löschen?", "Bestätigen", JOptionPane.YES_NO_OPTION);
               if (answer == JOptionPane.YES_OPTION) {
               
               DefaultTableModel tblm = (DefaultTableModel)tblLoeschen.getModel();
               int row = tblLoeschen.getSelectedRow();
               Object selected = tblm.getValueAt(row, 0);
               mysql.loeschen(tblm.getValueAt(row,0));
               int modelRow = tblLoeschen.convertRowIndexToModel(row);
               tblm.removeRow(modelRow);
    lblLoeschen.setVisible(true);
               tblm = new DefaultTableModel(mysql.holeFragen(), new String [] {"fragen_id", "kurs", "ort", "dozent", "datum"});
               tblLoeschen.setRowSelectionInterval(0, 0); //markiert die erste Zeile nach dem Löschen automatisch
               }
war es der richtige Weg die LöschMethode vor "int modelRow" aufzurufen?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Wegen TableSorter wird falsche Zeile einer Tabelle gelöscht? Java Basics - Anfänger-Themen 2
T User input in Verbindung mit ChronoUnit anpassen und falls falsche Eingabe getätigtwird Java Basics - Anfänger-Themen 7
B Binärzahlen auflisten, falsche Ausgabe? Java Basics - Anfänger-Themen 1
Z Java ArrayList speichert falsche Daten ab bzw. gibt falsche Daten aus? Java Basics - Anfänger-Themen 42
volcanos HashSet und Iterator -> Falsche Sortierreihenfolge ? Java Basics - Anfänger-Themen 18
O Falsche Antworten zu Fragen Java Basics - Anfänger-Themen 4
B Compiler-Fehler Fehlermeldung Exception in thread, falsche Eingabewert Java Basics - Anfänger-Themen 2
D falsche eingabe erkennen Java Basics - Anfänger-Themen 2
F Wieso wird immer die falsche Mausposition angegeben? Java Basics - Anfänger-Themen 1
JaVaN0oB Wörterraten - Falsche Ausgabe, String/Chars vergleichen Java Basics - Anfänger-Themen 2
H Falsche Ausgabe Java Basics - Anfänger-Themen 2
K falsche Eingabe abfangen Java Basics - Anfänger-Themen 8
L Falsche Methode wird geladen Java Basics - Anfänger-Themen 2
T JLabel hat falsche größe Java Basics - Anfänger-Themen 1
H Swing Button hat falsche Größe Java Basics - Anfänger-Themen 5
T Input/Output Falsche Eingabe ausgeben Java Basics - Anfänger-Themen 3
R StringBounds falsche Ergebnisse Java Basics - Anfänger-Themen 5
W Array in String und String in Array - falsche Ausgaben Java Basics - Anfänger-Themen 20
T Falsche Ausgabe ???? Java Basics - Anfänger-Themen 13
S Falsche Ausgabe Java Basics - Anfänger-Themen 6
M Input/Output ISBN Leser - falsche Eingabe ausgeben Java Basics - Anfänger-Themen 2
V Personenverwaltung mit List<>, falsche Ausgaben Java Basics - Anfänger-Themen 5
R Methoden Switch wählt das Falsche Java Basics - Anfänger-Themen 17
K Falsche Methode Java Basics - Anfänger-Themen 3
J Falsche Darstellung von Float Java Basics - Anfänger-Themen 2
M Falsche Eingabe wiederholen lassen Java Basics - Anfänger-Themen 2
W Methoden Falsche Felder von Methode belgegt Java Basics - Anfänger-Themen 14
M falsche implementierung von currentTimeMillis() ? Java Basics - Anfänger-Themen 14
F charAt-Methode liefert falsche Unicode-Werte Java Basics - Anfänger-Themen 8
P Falsche Werte bei Zeitmessungen Java Basics - Anfänger-Themen 7
Helgon Falsche Zeichen im Text Java Basics - Anfänger-Themen 10
S Parameterübergabe - identische Funktionen, aber falsche Funktion Java Basics - Anfänger-Themen 5
G Bubblesort - Falsche Sortierung Java Basics - Anfänger-Themen 6
D Kriege falsche MD5 Java Basics - Anfänger-Themen 12
R run ->eclipse ruft falsche Programme auf Java Basics - Anfänger-Themen 5
D p q formel gibt zum Teil falsche Werte aus Java Basics - Anfänger-Themen 5
S Falsche Version? Java Basics - Anfänger-Themen 2
C Falsche Zeit Java Basics - Anfänger-Themen 2
V Falsche Augabe Java Basics - Anfänger-Themen 16
C Klammern einlesen!!! Falsche Ausgabe!!!! Java Basics - Anfänger-Themen 4
S Falsche Reihenfolge von Methodenaufrufen Java Basics - Anfänger-Themen 8
H Falsche Eingabe über try-catch abfangen Java Basics - Anfänger-Themen 2
K Verschiebeoperatoren - manchmal falsche Ergebnisse Java Basics - Anfänger-Themen 7
L Datenbankanbindung ODBC falsche pfadangabe? Java Basics - Anfänger-Themen 3
O Falsche Bed. (ein überlauf) seh den Fehler aber nicht. Java Basics - Anfänger-Themen 3
G static array liefert falsche Werte zurück Java Basics - Anfänger-Themen 2
S Falsche Ausgabe Java Basics - Anfänger-Themen 3
G falsche Version Java Basics - Anfänger-Themen 3
L Falsche Umsetzung von MVC, brauche Hilfe Java Basics - Anfänger-Themen 6
D Tabelle -> Daten eingeben -> Falsche erhalten Java Basics - Anfänger-Themen 9
S Falsche Ausgabe? Java Basics - Anfänger-Themen 2
F Falsche Daten aus Datei Java Basics - Anfänger-Themen 2
G Falsche Java befehle, doch was ist falsch? Java Basics - Anfänger-Themen 9
C falsche Eingabe abfangen Java Basics - Anfänger-Themen 8
M Falsche do-Schleife? Java Basics - Anfänger-Themen 4
E falsche Ausgabe Java Basics - Anfänger-Themen 7
D Falsche Datumsausgabe? Java Basics - Anfänger-Themen 5
J erhalte falsche Kalenderwoche - wo ist der Fehler? Java Basics - Anfänger-Themen 2
Glühlampe Usereingabe in der gleichen Zeile ausgeben Java Basics - Anfänger-Themen 6
Ü Zweidimensionales Array in der ersten Zeile deklarieren Java Basics - Anfänger-Themen 13
padde479 Zeile entfernen TableModel Java Basics - Anfänger-Themen 11
F Arraylist<String>Ein Wort pro Zeile Java Basics - Anfänger-Themen 6
G Compiler-Fehler Fehler in Zeile 1 beheben, wie? Java Basics - Anfänger-Themen 9
I Wortkette in umgekehrter Rheinfolge + in neuer Zeile ausgeben Java Basics - Anfänger-Themen 4
W String einer Textdatei in einzelne Stringobjekte pro Zeile aufteilen Java Basics - Anfänger-Themen 14
M Spezifischen Wert einer Zeile aus .txt Datei entnehmen Java Basics - Anfänger-Themen 15
AkiJou Zeile in 2d Array löschen Java Basics - Anfänger-Themen 2
LilliCherry Array in einer Zeile ausgeben Java Basics - Anfänger-Themen 6
S Variablen Letzte Zeile eines Strings entfernen Java Basics - Anfänger-Themen 1
LFB In einer For-Schleife alles in einer Zeile ausgeben Java Basics - Anfänger-Themen 14
javapingu Jeglichen Inhalt einer Textdatei nach Zeile n löschen Java Basics - Anfänger-Themen 8
S Zufällige ungerade Zeile aus Text-Datei lesen Java Basics - Anfänger-Themen 5
G JTable, Zeile auswählen und Ergebnis an Schaltfläche übergeben Java Basics - Anfänger-Themen 4
Zwanglos Warum wird nur die erste Zeile im while Block ausgeführt? Java Basics - Anfänger-Themen 8
dieter000 Wie schreibe ich diese ZEile um? Java Basics - Anfänger-Themen 1
crrnogorka Letzte Zeile einer Tabelle "überschreibt" alle anderen Zeilen Java Basics - Anfänger-Themen 1
M In gleicher zeile hinter ausgabe noch etwas ausgeben Java Basics - Anfänger-Themen 1
P Welche Zeile in Tadople gibt einen compiler error? Java Basics - Anfänger-Themen 5
I ArrayList erstellen innerhalb einer Zeile? Java Basics - Anfänger-Themen 3
S Datenbank Tabelle eine Zeile an einer bestimmten Stelle einfügen Java Basics - Anfänger-Themen 2
S Gesamten String in einer Zeile ausgeben Java Basics - Anfänger-Themen 2
J ObjectOutputStream writeChars, komische Zeichen nur in 1. Zeile Java Basics - Anfänger-Themen 2
T Was macht diese Zeile? Java Basics - Anfänger-Themen 9
A Jede x-te Zeile, lösche 10 Zeilen Java Basics - Anfänger-Themen 9
L Tiefe Kopie einer Zeile eines zweidimensionalen Arrays Java Basics - Anfänger-Themen 1
B Code Zeile unklar Java Basics - Anfänger-Themen 9
ruutaiokwu Ausgegebene Zeile ersetzen mit neuem Text Java Basics - Anfänger-Themen 3
F Zeile in Ordner Java Basics - Anfänger-Themen 4
jaleda100 JTextArea Zeile einfügen Java Basics - Anfänger-Themen 1
M BufferedReader neue Zeile nach Knopfdruck Java Basics - Anfänger-Themen 9
F Mehrere Zeilen zu einer Zeile zusammenfügen und in eine Datei schreiben Java Basics - Anfänger-Themen 1
MaximilianTM Input/Output Einlesen und bearbeiten einer text Datei / Zeile Java Basics - Anfänger-Themen 5
C Java liest nur eine Zeile ein Java Basics - Anfänger-Themen 3
M Aus Datei auslesen und untersuchen ob diese Zeile schon vorhanden ist Java Basics - Anfänger-Themen 3
B Wieso wird die Zeile "column" genannt und die Spalte "line"? Java Basics - Anfänger-Themen 12
S BufferedReader nächste Zeile lesen Java Basics - Anfänger-Themen 4
M Zeile in datei überschreiben Java Basics - Anfänger-Themen 5
S drawString() neue Zeile Java Basics - Anfänger-Themen 4
D JTable Zeile wird nicht in MySQL gelöscht Java Basics - Anfänger-Themen 16
J Durchschnitt jeder Zeile und und Spalte in einem 2D Arrays berechnen Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben