summaryrefslogtreecommitdiffstats
path: root/src/de/fhswf/in/inf/se/projektthemenvergabe/Main.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/de/fhswf/in/inf/se/projektthemenvergabe/Main.java')
-rw-r--r--src/de/fhswf/in/inf/se/projektthemenvergabe/Main.java73
1 files changed, 73 insertions, 0 deletions
diff --git a/src/de/fhswf/in/inf/se/projektthemenvergabe/Main.java b/src/de/fhswf/in/inf/se/projektthemenvergabe/Main.java
index ceb0a6b..a7d2ceb 100644
--- a/src/de/fhswf/in/inf/se/projektthemenvergabe/Main.java
+++ b/src/de/fhswf/in/inf/se/projektthemenvergabe/Main.java
@@ -567,6 +567,79 @@ public class Main extends Application
}
}
});
+
+ PreparedStatement deleteStudent = dbConnection.prepareStatement(
+ "DELETE FROM student WHERE matrikelnummer=?");
+ PreparedStatement addStudent = dbConnection.prepareStatement(
+ "INSERT INTO student (matrikelnummer, vorname, nachname) VALUES (?, ?, ?)");
+ PreparedStatement updateStudent = dbConnection.prepareStatement(
+ "UPDATE student SET matrikelnummer=?,vorname=?,nachname=? WHERE matrikelnummer=?");
+
+ studenten.addListener(
+ (ListChangeListener.Change<? extends Student> listener) -> {
+ while (listener.next())
+ {
+ if (listener.wasUpdated())
+ {
+ for (int i = listener.getFrom(); i < listener
+ .getTo(); i++)
+ {
+ try
+ {
+ Student tmpStudent = listener.getList().get(i);
+
+ updateStudent.setInt(1,
+ tmpStudent.getMatrikelnummer());
+ updateStudent.setString(2,
+ tmpStudent.getVorname());
+ updateStudent.setString(3,
+ tmpStudent.getNachname());
+
+ updateStudent.setInt(4,
+ tmpStudent.getOldMatrikelnummer());
+
+ updateStudent.execute();
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ }
+ }
+ else
+ {
+ for (Student removed : listener.getRemoved())
+ {
+ try
+ {
+ deleteStudent.setInt(1,
+ removed.getMatrikelnummer());
+
+ deleteStudent.execute();
+ }
+ catch (SQLException e)
+ {
+ e.printStackTrace();
+ }
+ }
+ for (Student added : listener.getAddedSubList())
+ {
+ try
+ {
+ addStudent.setInt(1, added.getMatrikelnummer());
+ addStudent.setString(2, added.getVorname());
+ addStudent.setString(3, added.getNachname());
+
+ addStudent.execute();
+ }
+ catch (SQLException e)
+ {
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+ });
}
catch (SQLException e)
{