ktualisieren einer einzelnen Zeilendatenbank in Ja

So habe ich eine Datenbank, die wie folgt gemacht wird

{MATERIAL NAME; MENGE}

Ich habe auch eine JTable in Java, die die Informationen aus der Datenbank (SQLite) hochlädt. Wenn ich eine Zelle in der Tabelle bearbeite, wird die Datenbank automatisch folgendermaßen aktualisiert:

//table listener
public void tableChanged(TableModelEvent e) {
    //gets row and column if the table is edited
    int row = e.getFirstRow();
    int column = e.getColumn();
    //change in sqlite
    if (column == 1) {
        int value = Integer.parseInt(table.getModel().getValueAt(row, column).toString());
        String materialId = table.getModel().getValueAt(row, column-1).toString();
        try (Connection c = DriverManager.getConnection("jdbc:sqlite:database.db"); Statement statement = c.createStatement()) {
            String sql = "UPDATE MATERIALS set QUANTITY = " + value + " where MATERIAL='" + materialId +"';";
            statement.executeUpdate(sql);
            statement.close();
            c.close();
        } catch (SQLException e1) {
            e1.printStackTrace();
        }
    }
    else if (column == 0) {
        int value = Integer.parseInt(table.getModel().getValueAt(row, column+1).toString());
        String materialId = table.getModel().getValueAt(row, column).toString();
        try (Connection c = DriverManager.getConnection("jdbc:sqlite:database.db"); Statement statement = c.createStatement()) {
            String sql = "UPDATE MATERIALS set MATERIAL = " + materialId + " where MATERIAL='" + materialId +"';";
            statement.executeUpdate(sql);
            statement.close();
            c.close();
        } catch (SQLException e1) {
            e1.printStackTrace();
        }
    }
}

Es ist in Ordnung, wenn die Menge aktualisiert wird. Sobald der Materialname aktualisiert wurde, weiß ich nicht, wie er in der Datenbank aktualisiert werden soll.

String sql = "UPDATE MATERIALS set MATERIAL = " + materialId + " where MATERIAL='" + materialId +"';";

Kann es eine Möglichkeit geben, einen vorherigen Wert dieses Werts zu speichern? Ich kann die Materialmenge nicht verwenden, da sie sich möglicherweise wiederholt.

Ich möchte das Hinzufügen von IDs zu den Objekten nach Möglichkeit vermeiden.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage