Announcement

Collapse
No announcement yet.

Datensatz in Gui Tabelle und SQL löschen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Datensatz in Gui Tabelle und SQL löschen

    Ich habe in einem Programm folgenden Code der einen Datensatz löschen soll.
    Dabei soll der Datensatz sowohl in der JTable-Tabelle und in der SQL Tabelle gelöscht werden.

    Wie zu sehen ist erreiche ich Ersteres, da ich die Tabelle nach dem Löschen aktualisiere.

    Mein Problem bzw. meine Frage hier ist, wie ich nun den ausgewählten Datensatz in der JTable in der SQL Datenbank lösche - die Verbindung zwischen JTable und SQL bereitet mir etwas Probleme...! Momentan wird die komplette Tabelle gelöscht, weil ich die Variable rows nicht mit der SQL Abfrage verbinden kann.... wie ich das miteinander kombiniere...!

    Code:
     public void deleteeingang(DefaultTableModel defaultTableModel)
        {
        if(connection==null)
        {
            System.out.println("Abfrage nicht möglich, Connection ist null");
            return;
            }
        try
            {
            Statement statement=connection.createStatement();
            
            System.out.println("methode deleteeingang wird aufgerufen und funktioniert!!!");
            
            int rows=ButtonDBTable.jTable1.getSelectedRow();
            System.out.println(rows);
            // Hier den ausgewählten Datensatz löschen
                     
            Object resultSet=statement.executeUpdate("DELETE from einnahmen");
            ButtonDBTablezweite.getInstance().fillTable(defaultTableModel);
                  
            statement.close();
            }
        catch(SQLException ex)
            {
            System.out.println("SQL-Exception bei der Abfrage: "+ex.getMessage());
            }
        }
    Danke!!

  • #2
    Das DefalutTableModel ist in der Methode zum löschen eines Datensatzes in deinem DatenManager überflüssig

    Ein Blick in die API könnte nicht schaden!

    JTable kennt die Methode getSelectedRow. Sofern die Tabelle an der Oberfläche nicht durch Sortierung geändert wurde, entspricht dieser Wert auch der Position im Model. Mit diesem Wert kann im Model removeRow aufgerufen werden. Damit ist die Zeile aus der Tabelle entfernt.

    Damit die Zeile in der DB gelöscht werden kann ist ein SQL-Statement zu bilden, welches den Datensatz löscht. Dazu sind die Elemente des Datensatzes der Methode deleteeingang zu übergeben. Die Methode macht dann ein "delete from xyz where Spalte1=xx....
    Christian

    Comment


    • #3
      Gib bitte keine Antworten mehr auf meine Fragen - ich war sehr dankbar dafür aber wenn es dir dann soviel ausmacht wenn ich auch mal Hinweise auf unvesrständliche Stellen gebe dann möchte ich das nicht mehr!
      Danke für die viele gute Hilfe aber das Ende des letzten Threads war doch unschön und auch völlig unnötig!

      Comment


      • #4
        Es steht dir nicht zu, hier zu bestimmen, wer Antworten geben darf und wer nicht. Gut wenn du keine Antworten hier mehr willst Meine Antwort war klar und verständlich
        Christian

        Comment

        Working...
        X