From abdd57ac0c11bfd415b0d055efcd9ddf0241c4be Mon Sep 17 00:00:00 2001 From: Dennis Eisold <de@itstall.de> Date: Thu, 21 Nov 2019 12:52:34 +0100 Subject: [PATCH] Fixed Database --- pom.xml | 19 +- .../java/de/telefonbuch/model/Datenbank.java | 268 +++++++----------- uebung25telefonbuch.iml | 2 - 3 files changed, 115 insertions(+), 174 deletions(-) delete mode 100644 uebung25telefonbuch.iml diff --git a/pom.xml b/pom.xml index 865c285..a3eb17e 100644 --- a/pom.xml +++ b/pom.xml @@ -1,26 +1,27 @@ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> - <groupId>de.itstall</groupId> + <groupId>de.telefonbuch</groupId> <artifactId>uebung25telefonbuch</artifactId> <version>1.0-SNAPSHOT</version> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - <maven.compiler.source>11</maven.compiler.source> - <maven.compiler.target>11</maven.compiler.target> + <maven.compiler.source>12</maven.compiler.source> + <maven.compiler.target>12</maven.compiler.target> + <maven.compiler.release>12</maven.compiler.release> + <javafx.version>12.0.2</javafx.version> </properties> <dependencies> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-controls</artifactId> - <version>11.0.2</version> + <version>${javafx.version}</version> </dependency> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-fxml</artifactId> - <version>11.0.2</version> + <version>${javafx.version}</version> </dependency> - <!-- https://mvnrepository.com/artifact/org.xerial/sqlite-jdbc --> <dependency> <groupId>org.xerial</groupId> <artifactId>sqlite-jdbc</artifactId> @@ -38,15 +39,15 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> - <version>3.8.0</version> + <version>3.8.1</version> <configuration> - <release>11</release> + <release>${maven.compiler.release}</release> </configuration> </plugin> <plugin> <groupId>org.openjfx</groupId> <artifactId>javafx-maven-plugin</artifactId> - <version>0.0.1</version> + <version>0.0.3</version> <configuration> <mainClass>de.telefonbuch.App</mainClass> </configuration> diff --git a/src/main/java/de/telefonbuch/model/Datenbank.java b/src/main/java/de/telefonbuch/model/Datenbank.java index f7520b1..9e9d3d6 100644 --- a/src/main/java/de/telefonbuch/model/Datenbank.java +++ b/src/main/java/de/telefonbuch/model/Datenbank.java @@ -1,10 +1,11 @@ package de.telefonbuch.model; import org.jetbrains.annotations.NotNull; - import java.sql.*; public class Datenbank { + private final String VIEW_KONTAKTE = "telefonbuch"; + private final String TABLE_KONTAKTE = "table_kontakte"; private Connection con; @@ -23,158 +24,99 @@ public class Datenbank { new Fehler().debug(this.getClass().getName() + "." + new Throwable().getStackTrace()[0].getMethodName(), true, 1); Statement stmt = this.con.createStatement(); - String createTable, createTrigger, createView; - - createTable = "CREATE TABLE IF NOT EXISTS \"table_vorname\" (" + - "id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, " + - "vorname VARCHAR(50) NOT NULL " + - ");"; - stmt.execute(createTable); - createTable = "CREATE TABLE IF NOT EXISTS \"table_nachname\" (" + - "id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, " + - "nachname VARCHAR(50) NOT NULL " + - ");"; - stmt.execute(createTable); - createTable = "CREATE TABLE IF NOT EXISTS \"table_strasse\" (" + - "id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, " + - "strasse VARCHAR(50) NOT NULL " + - ");"; - stmt.execute(createTable); - createTable = "CREATE TABLE IF NOT EXISTS \"table_hnr\" (" + - "id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, " + - "hnr VARCHAR(10) NOT NULL " + - ");"; - stmt.execute(createTable); - createTable = "CREATE TABLE IF NOT EXISTS \"table_plz\" (" + - "id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, " + - "plz VARCHAR(5) NOT NULL " + - ");"; - stmt.execute(createTable); - createTable = "CREATE TABLE IF NOT EXISTS \"table_ort\" (" + - "id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL ," + - "ort VARCHAR(50) NOT NULL " + - ");"; - stmt.execute(createTable); - createTable = "CREATE TABLE IF NOT EXISTS \"table_telefon\" (" + - "id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, " + - "telefon VARCHAR(30) NOT NULL " + - ");"; - stmt.execute(createTable); - - createTable = "CREATE TABLE IF NOT EXISTS \"table_kontakte\" (\n" + - " vorname VARCHAR,\n" + - " nachname VARCHAR,\n" + - " strasse VARCHAR,\n" + - " hnr VARCHAR,\n" + - " plz VARCHAR,\n" + - " ort VARCHAR,\n" + - " telefon VARCHAR,\n" + - " FOREIGN KEY(vorname) REFERENCES table_vorname(vorname),\n" + - " FOREIGN KEY(nachname) REFERENCES table_nachname(nachname),\n" + - " FOREIGN KEY(strasse) REFERENCES table_strasse(strasse),\n" + - " FOREIGN KEY(hnr) REFERENCES table_hnr(hnr),\n" + - " FOREIGN KEY(plz) REFERENCES table_plz(plz),\n" + - " FOREIGN KEY(ort) REFERENCES table_ort(ort),\n" + - " FOREIGN KEY(telefon) REFERENCES table_telefon(telefon)\n" + - ");"; - stmt.execute(createTable); - - createView = "CREATE VIEW IF NOT EXISTS \"view_kontakte\" AS " + - " SELECT" + - " table_vorname.vorname, " + - " table_nachname.nachname, " + - " table_strasse.strasse, " + - " table_hnr.hnr, " + - " table_plz.plz, " + - " table_ort.ort, " + - " table_telefon.telefon " + - " FROM table_kontakte " + - " INNER JOIN table_vorname ON table_kontakte.vorname = table_vorname.id" + - " INNER JOIN table_nachname ON table_kontakte.nachname = table_nachname.id" + - " INNER JOIN table_strasse ON table_kontakte.strasse = table_strasse.id" + - " INNER JOIN table_hnr ON table_kontakte.hnr = table_hnr.id" + - " INNER JOIN table_plz ON table_kontakte.plz = table_plz.id" + - " INNER JOIN table_ort ON table_kontakte.ort = table_ort.id" + - " INNER JOIN table_telefon ON table_kontakte.telefon = table_telefon.id;"; - stmt.execute(createView); - - createTrigger = "CREATE TRIGGER IF NOT EXISTS view_kontakte_INS\n" + - "INSTEAD OF INSERT ON view_kontakte FOR EACH ROW\n" + - "BEGIN\n" + - " INSERT INTO table_vorname (vorname) SELECT NEW.vorname WHERE NOT EXISTS (SELECT 1 FROM table_vorname WHERE vorname = NEW.vorname);\n" + - " INSERT INTO table_nachname (nachname) SELECT NEW.nachname WHERE NOT EXISTS (SELECT 1 FROM table_nachname WHERE nachname = NEW.nachname);\n" + - " INSERT INTO table_strasse (strasse) SELECT NEW.strasse WHERE NOT EXISTS (SELECT 1 FROM table_strasse WHERE strasse = NEW.strasse);\n" + - " INSERT INTO table_hnr (hnr) SELECT NEW.hnr WHERE NOT EXISTS (SELECT 1 FROM table_hnr WHERE hnr = NEW.hnr);\n" + - " INSERT INTO table_plz (plz) SELECT NEW.plz WHERE NOT EXISTS (SELECT 1 FROM table_plz WHERE plz = NEW.plz);\n" + - " INSERT INTO table_ort (ort) SELECT NEW.ort WHERE NOT EXISTS (SELECT 1 FROM table_ort WHERE ort = NEW.ort);\n" + - " INSERT INTO table_telefon (telefon) SELECT NEW.telefon WHERE NOT EXISTS (SELECT 1 FROM table_telefon WHERE telefon = NEW.telefon);\n" + - " INSERT INTO table_kontakte (vorname, nachname, strasse, hnr, plz, ort, telefon)\n" + - " SELECT\n" + - " (SELECT id FROM table_vorname WHERE vorname = NEW.vorname),\n" + - " (SELECT id FROM table_nachname WHERE nachname = NEW.nachname),\n" + - " (SELECT id FROM table_strasse WHERE strasse = NEW.strasse),\n" + - " (SELECT id FROM table_hnr WHERE hnr = NEW.hnr),\n" + - " (SELECT id FROM table_plz WHERE plz = NEW.plz),\n" + - " (SELECT id FROM table_ort WHERE ort = NEW.ort),\n" + - " (SELECT id FROM table_telefon WHERE telefon = NEW.telefon);\n" + - "END;"; - stmt.execute(createTrigger); - - createTrigger = "CREATE TRIGGER IF NOT EXISTS view_kontakte_DEL " + - " INSTEAD OF DELETE ON view_kontakte FOR EACH ROW " + - " BEGIN " + - " DELETE FROM table_kontakte" + - " WHERE vorname.id = (SELECT id FROM table_vorname WHERE vorname = OLD.vorname)" + - " AND nachname.id = (SELECT id FROM table_nachname WHERE nachname = OLD.nachname)" + - " AND strasse.id = (SELECT id FROM table_strasse WHERE strasse = OLD.strasse)" + - " AND hnr.id = (SELECT id FROM table_hnr WHERE hnr = OLD.hnr)" + - " AND plz.id = (SELECT id FROM table_plz WHERE plz = OLD.plz)" + - " AND ort.id = (SELECT id FROM table_ort WHERE ort = OLD.ort)" + - " AND telefon.id = (SELECT id FROM table_telefon WHERE telefon = OLD.telefon); " + - " DELETE FROM table_vorname WHERE id NOT IN (SELECT vorname.id FROM table_kontakte);" + - " DELETE FROM table_nachname WHERE id NOT IN (SELECT nachname.id FROM table_kontakte);" + - " DELETE FROM table_strasse WHERE id NOT IN (SELECT strasse.id FROM table_kontakte);" + - " DELETE FROM table_hnr WHERE id NOT IN (SELECT hnr.id FROM table_kontakte);" + - " DELETE FROM table_plz WHERE id NOT IN (SELECT plz.id FROM table_kontakte);" + - " DELETE FROM table_ort WHERE id NOT IN (SELECT ort.id FROM table_kontakte);" + - " DELETE FROM table_telefon WHERE id NOT IN (SELECT telefon.id FROM table_kontakte);" + - " END;"; - stmt.execute(createTrigger); - - createTrigger = "CREATE TRIGGER IF NOT EXISTS view_kontakte_UPD " + - " INSTEAD OF UPDATE ON view_kontakte FOR EACH ROW " + - " BEGIN " + - " INSERT INTO table_vorname (vorname) SELECT NEW.vorname WHERE NOT EXISTS (SELECT 1 FROM table_vorname WHERE vorname = NEW.vorname);" + - " INSERT INTO table_nachname (nachname) SELECT NEW.nachname WHERE NOT EXISTS (SELECT 1 FROM table_nachname WHERE nachname = NEW.nachname);" + - " INSERT INTO table_strasse (strasse) SELECT NEW.strasse WHERE NOT EXISTS (SELECT 1 FROM table_strasse WHERE strasse = NEW.strasse);" + - " INSERT INTO table_hnr (hnr) SELECT NEW.hnr WHERE NOT EXISTS (SELECT 1 FROM table_hnr WHERE hnr = NEW.hnr);" + - " INSERT INTO table_plz (plz) SELECT NEW.plz WHERE NOT EXISTS (SELECT 1 FROM table_plz WHERE plz = NEW.plz);" + - " INSERT INTO table_ort (ort) SELECT NEW.ort WHERE NOT EXISTS (SELECT 1 FROM table_ort WHERE ort = NEW.ort);" + - " INSERT INTO table_telefon (telefon) SELECT NEW.telefon WHERE NOT EXISTS (SELECT 1 FROM table_telefon WHERE telefon = NEW.telefon);" + - " UPDATE table_kontakte SET" + - " vorname = (SELECT id FROM table_vorname WHERE vorname = NEW.vorname), " + - " nachname = (SELECT id FROM table_nachname WHERE nachname = NEW.nachname), " + - " strasse = (SELECT id FROM table_strasse WHERE strasse = NEW.strasse), " + - " hnr = (SELECT id FROM table_hnr WHERE hnr = NEW.hnr), " + - " plz = (SELECT id FROM table_plz WHERE plz = NEW.plz), " + - " ort = (SELECT id FROM table_ort WHERE ort = NEW.ort), " + - " telefon = (SELECT id FROM table_telefon WHERE telefon = NEW.telefon) " + - " WHERE vorname = (SELECT id FROM table_vorname WHERE vorname = OLD.vorname) " + - " AND nachname = (SELECT id FROM table_nachname WHERE nachname = OLD.nachname)" + - " AND strasse = (SELECT id FROM table_strasse WHERE strasse = OLD.strasse)" + - " AND hnr = (SELECT id FROM table_hnr WHERE hnr = OLD.hnr)" + - " AND plz = (SELECT id FROM table_plz WHERE plz = OLD.plz)" + - " AND ort = (SELECT id FROM table_ort WHERE ort = OLD.ort)" + - " AND telefon = (SELECT id FROM table_telefon WHERE telefon = OLD.telefon);" + - " DELETE FROM table_vorname WHERE vorname NOT IN (SELECT id FROM table_kontakte);" + - " DELETE FROM table_nachname WHERE nachname NOT IN (SELECT id FROM table_kontakte);" + - " DELETE FROM table_strasse WHERE strasse NOT IN (SELECT id FROM table_kontakte);" + - " DELETE FROM table_hnr WHERE hnr NOT IN (SELECT id FROM table_kontakte);" + - " DELETE FROM table_plz WHERE plz NOT IN (SELECT id FROM table_kontakte);" + - " DELETE FROM table_ort WHERE ort NOT IN (SELECT id FROM table_kontakte);" + - " DELETE FROM table_telefon WHERE telefon NOT IN (SELECT id FROM table_kontakte);" + - "END;"; - stmt.execute(createTrigger); + String sql; + + sql = "CREATE TABLE IF NOT EXISTS \"table_vorname\" (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, vorname VARCHAR(50) NOT NULL UNIQUE);"; + stmt.execute(sql); + sql = "CREATE TABLE IF NOT EXISTS \"table_nachname\" (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, nachname VARCHAR(50) NOT NULL UNIQUE);"; + stmt.execute(sql); + sql = "CREATE TABLE IF NOT EXISTS \"table_strasse\" (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, strasse VARCHAR(50) NOT NULL UNIQUE);"; + stmt.execute(sql); + sql = "CREATE TABLE IF NOT EXISTS \"table_hnr\" (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, hnr VARCHAR(15) NOT NULL UNIQUE);"; + stmt.execute(sql); + sql = "CREATE TABLE IF NOT EXISTS \"table_plz\" (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, plz CHAR(5) NOT NULL UNIQUE);"; + stmt.execute(sql); + sql = "CREATE TABLE IF NOT EXISTS \"table_ort\" (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, ort VARCHAR(50) NOT NULL UNIQUE);"; + stmt.execute(sql); + sql ="CREATE TABLE IF NOT EXISTS \"table_telefonbuch\" ( " + + " id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, " + + " vorname_id INTEGER NOT NULL, " + + " nachname_id INTEGER NOT NULL, " + + " strasse_id INTEGER NOT NULL, " + + " hnr_id INTEGER NOT NULL, " + + " plz_id INTEGER NOT NULL, " + + " ort_id INTEGER NOT NULL, " + + " telefon VARCHAR(30) NOT NULL UNIQUE," + + " FOREIGN KEY (vorname_id) REFERENCES table_vorname(id), " + + " FOREIGN KEY (nachname_id) REFERENCES table_nachname(id), " + + " FOREIGN KEY (strasse_id) REFERENCES table_strasse(id), " + + " FOREIGN KEY (hnr_id) REFERENCES table_hnr(id), " + + " FOREIGN KEY (plz_id) REFERENCES table_plz(id), " + + " FOREIGN KEY (ort_id) REFERENCES table_ort(id)" + + " );"; + stmt.execute(sql); + + sql = "CREATE VIEW IF NOT EXISTS telefonbuch AS " + + " SELECT v.vorname AS vorname, " + + " n.nachname AS nachname, " + + " s.strasse AS strasse, " + + " h.hnr AS hnr, " + + " p.plz AS plz, " + + " o.ort AS ort, " + + " t.telefon AS telefon " + + " FROM table_telefonbuch t " + + " INNER JOIN table_vorname v ON t.vorname_id = v.id " + + " INNER JOIN table_nachname n ON t.nachname_id = n.id " + + " INNER JOIN table_strasse s ON t.strasse_id = s.id " + + " INNER JOIN table_hnr h ON t.hnr_id = h.id " + + " INNER JOIN table_plz p ON t.plz_id = p.id " + + " INNER JOIN table_ort o ON t.ort_id = o.id;"; + stmt.execute(sql); + + sql = "PRAGMA foreign_keys = ON;"; + stmt.execute(sql); + + sql = "CREATE TRIGGER IF NOT EXISTS Telefonbuch_INS INSTEAD OF INSERT ON telefonbuch FOR EACH ROW\n" + + " BEGIN\n" + + " INSERT INTO table_vorname (vorname) SELECT NEW.vorname WHERE NOT EXISTS (SELECT 1 FROM table_vorname WHERE vorname = NEW.vorname);\n" + + " INSERT INTO table_nachname (nachname) SELECT NEW.nachname WHERE NOT EXISTS (SELECT 1 FROM table_nachname WHERE nachname = NEW.nachname);\n" + + " INSERT INTO table_strasse (strasse) SELECT NEW.strasse WHERE NOT EXISTS (SELECT 1 FROM table_strasse WHERE strasse = NEW.strasse);\n" + + " INSERT INTO table_hnr (hnr) SELECT NEW.hnr WHERE NOT EXISTS (SELECT 1 FROM table_hnr WHERE hnr = NEW.hnr);\n" + + " INSERT INTO table_plz (plz) SELECT NEW.plz WHERE NOT EXISTS (SELECT 1 FROM table_plz WHERE plz = NEW.plz);\n" + + " INSERT INTO table_ort (ort) SELECT NEW.ort WHERE NOT EXISTS (SELECT 1 FROM table_ort WHERE ort = NEW.ort);\n" + + " INSERT INTO table_telefonbuch (vorname_id, nachname_id, strasse_id, hnr_id, plz_id, ort_id, telefon) SELECT (SELECT id FROM table_vorname WHERE vorname = NEW.vorname), (SELECT id FROM table_nachname WHERE nachname = NEW.nachname), (SELECT id FROM table_strasse WHERE strasse = NEW.strasse), (SELECT id FROM table_hnr WHERE hnr = NEW.hnr), (SELECT id FROM table_plz WHERE plz = NEW.plz), (SELECT id FROM table_ort WHERE ort = NEW.ort), NEW.telefon;\n" + + " END;"; + stmt.execute(sql); + + sql = "CREATE TRIGGER IF NOT EXISTS Telefonbuch_DEL INSTEAD OF DELETE ON telefonbuch FOR EACH ROW\n" + + " BEGIN\n" + + " DELETE FROM table_telefonbuch WHERE telefon = OLD.telefon;\n" + + " DELETE FROM table_vorname WHERE id NOT IN (SELECT vorname_id FROM table_telefonbuch);\n" + + " DELETE FROM table_nachname WHERE id NOT IN (SELECT nachname_id FROM table_telefonbuch);\n" + + " DELETE FROM table_strasse WHERE id NOT IN (SELECT strasse_id FROM table_telefonbuch);\n" + + " DELETE FROM table_hnr WHERE id NOT IN (SELECT hnr_id FROM table_telefonbuch);\n" + + " DELETE FROM table_plz WHERE id NOT IN (SELECT plz_id FROM table_telefonbuch);\n" + + " DELETE FROM table_ort WHERE id NOT IN (SELECT ort_id FROM table_telefonbuch);\n" + + " END;"; + stmt.execute(sql); + + sql = "CREATE TRIGGER IF NOT EXISTS Telefonbuch_UPD INSTEAD OF UPDATE ON telefonbuch FOR EACH ROW\n" + + " BEGIN\n" + + " INSERT INTO table_vorname (vorname) SELECT NEW.vorname WHERE NOT EXISTS (SELECT 1 FROM table_vorname WHERE vorname = NEW.vorname);\n" + + " INSERT INTO table_nachname (nachname) SELECT NEW.nachname WHERE NOT EXISTS (SELECT 1 FROM table_nachname WHERE nachname = NEW.nachname);\n" + + " INSERT INTO table_strasse (strasse) SELECT NEW.strasse WHERE NOT EXISTS (SELECT 1 FROM table_strasse WHERE strasse = NEW.strasse);\n" + + " INSERT INTO table_hnr (hnr) SELECT NEW.hnr WHERE NOT EXISTS (SELECT 1 FROM table_hnr WHERE hnr = NEW.hnr);\n" + + " INSERT INTO table_plz (plz) SELECT NEW.plz WHERE NOT EXISTS (SELECT 1 FROM table_plz WHERE plz = NEW.plz);\n" + + " INSERT INTO table_ort (ort) SELECT NEW.ort WHERE NOT EXISTS (SELECT 1 FROM table_ort WHERE ort = NEW.ort);\n" + + " UPDATE table_telefonbuch SET vorname_id = (SELECT id FROM table_vorname WHERE vorname = NEW.vorname), nachname_id = (SELECT id FROM table_nachname WHERE nachname = NEW.nachname), strasse_id = (SELECT id FROM table_strasse WHERE strasse = NEW.strasse), hnr_id = (SELECT id FROM table_hnr WHERE hnr = NEW.hnr), plz_id = (SELECT id FROM table_plz WHERE plz = NEW.plz), ort_id = (SELECT id FROM table_ort WHERE ort = NEW.ort), telefon = NEW.telefon WHERE telefon = OLD.telefon;\n" + + " DELETE FROM table_vorname WHERE id NOT IN (SELECT vorname_id FROM table_telefonbuch);\n" + + " DELETE FROM table_nachname WHERE id NOT IN (SELECT nachname_id FROM table_telefonbuch);\n" + + " DELETE FROM table_strasse WHERE id NOT IN (SELECT strasse_id FROM table_telefonbuch);\n" + + " DELETE FROM table_hnr WHERE id NOT IN (SELECT hnr_id FROM table_telefonbuch);\n" + + " DELETE FROM table_plz WHERE id NOT IN (SELECT plz_id FROM table_telefonbuch);\n" + + " DELETE FROM table_ort WHERE id NOT IN (SELECT ort_id FROM table_telefonbuch);\n" + + " END;"; + stmt.execute(sql); } /** @@ -195,7 +137,7 @@ public class Datenbank { try { Statement stmt = this.con.createStatement(); - String checkKontakt = "SELECT telefon FROM view_kontakte WHERE telefon=\"" + kontakt.getId() + "\";"; + String checkKontakt = "SELECT telefon FROM " + VIEW_KONTAKTE + " WHERE telefon=\"" + kontakt.getId() + "\";"; ResultSet checkResult = stmt.executeQuery(checkKontakt); int rows = 0; @@ -208,7 +150,7 @@ public class Datenbank { if (rows == 1) { new Fehler().debug("Updating contact", false); - insertKontakt = "UPDATE view_kontakte SET " + + insertKontakt = "UPDATE " + VIEW_KONTAKTE + " SET " + "vorname=\"" + kontakt.getVorname() + "\", " + "nachname=\"" + kontakt.getNachname() + "\", " + "strasse=\"" + kontakt.getStrasse() + "\", " + @@ -220,7 +162,7 @@ public class Datenbank { } else { new Fehler().debug("Insert new contact", false); - insertKontakt = "INSERT INTO view_kontakte (vorname, nachname, strasse, hnr, plz, ort, telefon) VALUES (" + + insertKontakt = "INSERT INTO " + VIEW_KONTAKTE + " (vorname, nachname, strasse, hnr, plz, ort, telefon) VALUES (" + "\"" + kontakt.getVorname() + "\", " + "\"" + kontakt.getNachname() + "\", " + "\"" + kontakt.getStrasse() + "\", " + @@ -244,7 +186,7 @@ public class Datenbank { try { Statement stmt = this.con.createStatement(); - String sql = " DELETE FROM view_kontakte" + + String sql = " DELETE FROM " + VIEW_KONTAKTE + "" + " WHERE telefon=\"" + telefon + "\";"; stmt.execute(sql); @@ -264,11 +206,11 @@ public class Datenbank { if (telefon.equals("first")) { sql = "SELECT * " + - "FROM view_kontakte " + + "FROM " + VIEW_KONTAKTE + " " + "LIMIT 1;"; } else { sql = "SELECT * " + - "FROM view_kontakte " + + "FROM " + VIEW_KONTAKTE + " " + "WHERE telefon=\"" + telefon + "\";"; } ResultSet rs = stmt.executeQuery(sql); @@ -307,7 +249,7 @@ public class Datenbank { " CASE " + " WHEN LAG(telefon) OVER (ORDER BY nachname) IS NULL THEN ( " + " SELECT telefon " + - " FROM view_kontakte " + + " FROM " + VIEW_KONTAKTE + " " + " ORDER BY nachname DESC " + " LIMIT 1 " + " ) " + @@ -317,13 +259,13 @@ public class Datenbank { " CASE " + " WHEN LEAD(telefon) OVER (ORDER BY nachname) IS NULL THEN ( " + " SELECT telefon " + - " FROM view_kontakte " + + " FROM " + VIEW_KONTAKTE + " " + " ORDER BY nachname ASC " + " LIMIT 1 " + " ) " + " ELSE LEAD(telefon) OVER (ORDER BY nachname) " + " END next " + - "FROM view_kontakte " + + "FROM " + VIEW_KONTAKTE + " " + "ORDER BY nachname ASC;"; ResultSet rs = stmt.executeQuery(sql); @@ -351,7 +293,7 @@ public class Datenbank { Statement stmt = this.con.createStatement(); String sql = " SELECT COUNT(*) AS count" + - " FROM view_kontakte;"; + " FROM " + VIEW_KONTAKTE + ";"; ResultSet rs = stmt.executeQuery(sql); intResult = rs.getInt("count"); diff --git a/uebung25telefonbuch.iml b/uebung25telefonbuch.iml deleted file mode 100644 index 78b2cc5..0000000 --- a/uebung25telefonbuch.iml +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<module type="JAVA_MODULE" version="4" /> \ No newline at end of file -- GitLab