diff options
Diffstat (limited to 'Java-Kompendium/kap15/src/main/java/SaveAction.java')
| -rw-r--r-- | Java-Kompendium/kap15/src/main/java/SaveAction.java | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/Java-Kompendium/kap15/src/main/java/SaveAction.java b/Java-Kompendium/kap15/src/main/java/SaveAction.java new file mode 100644 index 0000000..a1c0e9b --- /dev/null +++ b/Java-Kompendium/kap15/src/main/java/SaveAction.java @@ -0,0 +1,50 @@ +import javafx.event.EventHandler; +import javafx.event.ActionEvent; +import javafx.scene.control.TextField; +import javafx.scene.text.Text; +import java.sql.*; + +public class SaveAction implements EventHandler<ActionEvent> { + private TextField name; + private TextField english; + private TextField german; + private TextField math; + private Text status; + private PreparedStatement statement; + + public SaveAction( + Connection connection, + TextField name, + TextField english, + TextField german, + TextField math, + Text status + ) throws SQLException { + this.statement = connection.prepareStatement( + "INSERT INTO marks (name, english, german, math) VALUES (?, ?, ?, ?)" + ); + this.name = name; + this.english = english; + this.german = german; + this.math = math; + this.status = status; + } + + public void handle(ActionEvent event) { + try { + this.statement.setString(1, this.name.getText()); + this.statement.setInt(2, Integer.parseInt(this.english.getText())); + this.statement.setInt(3, Integer.parseInt(this.german.getText())); + this.statement.setInt(4, Integer.parseInt(this.math.getText())); + + this.statement.execute(); + + this.name.setText(""); + this.english.setText(""); + this.german.setText(""); + this.math.setText(""); + } catch (SQLException exception) { + this.status.setText(exception.getMessage()); + } + } +} |
