summaryrefslogtreecommitdiff
path: root/Java-Kompendium/kap17/src/main/java/ButtonHinzufuegen.java
diff options
context:
space:
mode:
Diffstat (limited to 'Java-Kompendium/kap17/src/main/java/ButtonHinzufuegen.java')
-rw-r--r--Java-Kompendium/kap17/src/main/java/ButtonHinzufuegen.java119
1 files changed, 119 insertions, 0 deletions
diff --git a/Java-Kompendium/kap17/src/main/java/ButtonHinzufuegen.java b/Java-Kompendium/kap17/src/main/java/ButtonHinzufuegen.java
new file mode 100644
index 0000000..9034bec
--- /dev/null
+++ b/Java-Kompendium/kap17/src/main/java/ButtonHinzufuegen.java
@@ -0,0 +1,119 @@
+import java.sql.Statement;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
+import javafx.event.ActionEvent;
+import javafx.event.EventHandler;
+import javafx.geometry.Insets;
+import javafx.geometry.Pos;
+import javafx.scene.Scene;
+import javafx.scene.control.Button;
+import javafx.scene.control.Label;
+import javafx.scene.control.TextField;
+import javafx.scene.layout.GridPane;
+import javafx.scene.text.Font;
+import javafx.scene.text.FontWeight;
+import javafx.scene.text.Text;
+import javafx.stage.Modality;
+import javafx.stage.Stage;
+
+public class ButtonHinzufuegen extends Button {
+ public ButtonHinzufuegen(String text) {
+ super(text);
+ }
+
+ public void neuesFenster(Stage hauptfenster) {
+ GridPane grid = new GridPane();
+ grid.setAlignment(Pos.CENTER);
+ grid.setHgap(10);
+ grid.setVgap(10);
+ grid.setPadding(new Insets(10, 10, 10, 10));
+ Scene scene = new Scene(grid, 400, 300);
+ Stage neuesFenster = new Stage();
+ neuesFenster.setTitle("Mitarbeiter hinzufügen");
+ neuesFenster.setScene(scene);
+ neuesFenster.initModality(Modality.WINDOW_MODAL);
+ neuesFenster.initOwner(hauptfenster);
+ neuesFenster.setX(hauptfenster.getX() + 50);
+ neuesFenster.setY(hauptfenster.getY() + 50);
+
+ Text titel = new Text("Geben Sie die Daten des neuen Mitarbeiters ein:");
+ titel.setFont(Font.font("Arial", FontWeight.NORMAL, 14));
+ grid.add(titel, 0, 0, 2, 1);
+
+ Label persnr = new Label("Personalnummer:");
+ grid.add(persnr, 0, 1);
+ TextField eingabePersnr = new TextField();
+ grid.add(eingabePersnr, 1, 1);
+
+ Label nachname = new Label("Nachname:");
+ grid.add(nachname, 0, 2);
+ TextField eingabeNachname = new TextField();
+ grid.add(eingabeNachname, 1, 2);
+
+ Label vorname = new Label("Vorname:");
+ grid.add(vorname, 0, 3);
+ TextField eingabeVorname = new TextField();
+ grid.add(eingabeVorname, 1, 3);
+
+ Label gehalt = new Label("Gehalt:");
+ grid.add(gehalt, 0, 4);
+ TextField eingabeGehalt = new TextField();
+ grid.add(eingabeGehalt, 1, 4);
+
+ Button btnEinf = new Button("Mitarbeiter hinzufügen");
+ grid.add(btnEinf, 0, 5);
+ neuesFenster.show();
+
+ btnEinf.setOnAction(new EventHandler<ActionEvent>() {
+ @Override
+ public void handle(ActionEvent e) {
+ String vorname = "";
+ String nachname = "";
+ int persnr = -1;
+ double gehalt = -1;
+ boolean richtigeEingabe = false;
+
+ try {
+ vorname = eingabeVorname.getText();
+ nachname = eingabeNachname.getText();
+ persnr = Integer.parseInt(eingabePersnr.getText());
+ gehalt = Double.parseDouble(eingabeGehalt.getText());
+ richtigeEingabe = true;
+ }
+ catch (NumberFormatException Ausnahme) {
+ Hinweis.ausgeben(hauptfenster, "Fehlerhafte Eingabe.");
+ }
+ if (richtigeEingabe) {
+ String host = "jdbc:hsqldb:mem:mitarbeiter";
+
+ try {
+ Connection verbindung = DriverManager.getConnection(host);
+ Statement befehl = verbindung.createStatement();
+
+ String SQL = "SELECT name FROM Mitarbeiter WHERE persnr = " + persnr;
+ ResultSet rs = befehl.executeQuery(SQL);
+ int zaehler = 0;
+ while (rs.next()) {
+ zaehler++;
+ }
+ if (zaehler == 0) {
+ SQL = "INSERT INTO Mitarbeiter (persnr, name, vorname,"
+ + "gehalt) VALUES (" + persnr + ", '" +
+ nachname + "', '" + vorname + "', " + gehalt + ")";
+ befehl.executeUpdate(SQL);
+ Hinweis.ausgeben(hauptfenster, "Mitarbeiter erfolgreich hinzufgefügt.");
+ neuesFenster.close();
+ } else {
+ Hinweis.ausgeben(hauptfenster, "Personalnummer bereits vergeben");
+ }
+ } catch (SQLException err) {
+ System.out.println(err.getMessage());
+ }
+ }
+ }
+ });
+ }
+}