summaryrefslogtreecommitdiff
path: root/Java-Kompendium/kap15/src/main/java/SaveAction.java
diff options
context:
space:
mode:
Diffstat (limited to 'Java-Kompendium/kap15/src/main/java/SaveAction.java')
-rw-r--r--Java-Kompendium/kap15/src/main/java/SaveAction.java50
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());
+ }
+ }
+}