Hallo, einen schönen guten Tag alle zusammen!
Ich würde gerne wisssen, wie ich vor dem Speichern eines Wertes in eine Datenbanktabelle prüfen kann, ob dieser Eintrag bereits existiert oder nicht. Existiert der Wert bereits schon in der Datenbanktabelle soll kein Eintrag erfolgen und somit das Speichern verhindern.
Die Tabelle Mitarbeiter hat folgende Attribute:
- ID (Primärschlüssel), Vorname, Nachname, Geschlecht, Geburtsdatum, EMail, Mobilnummer
Die Tabelle Login hat folgende Attribute:
ID (Primärschlüssel), Benutzername, Passwort, Typ, MitarbeiterID (Fremdschlüssel)
Die Tabelle Mitarbeiter & Person stehen in Relation. Meine Quellcode sieht folgendermaßen aus:
Momentan erfolgt die Speicherung eines Datensatzes nach dem Klicken auf das Button "speichern" unabhängig davon ob dieser bereits existiert oder nicht.
1. Wie kann ich jetzt einen Eintrag vorher prüfen?
2. Wie würde der Quellcode dann aussehen?
Ich habe schon einiges ausprobiert und komme da einfach kein Stück weiter - bin echt am zweifeln. Wäre echt lieb, wenn mir jemand da weiterhelfen könnte. Vielen Dank im Voraus!
Liebe Grüße
Ich würde gerne wisssen, wie ich vor dem Speichern eines Wertes in eine Datenbanktabelle prüfen kann, ob dieser Eintrag bereits existiert oder nicht. Existiert der Wert bereits schon in der Datenbanktabelle soll kein Eintrag erfolgen und somit das Speichern verhindern.
Die Tabelle Mitarbeiter hat folgende Attribute:
- ID (Primärschlüssel), Vorname, Nachname, Geschlecht, Geburtsdatum, EMail, Mobilnummer
Die Tabelle Login hat folgende Attribute:
ID (Primärschlüssel), Benutzername, Passwort, Typ, MitarbeiterID (Fremdschlüssel)
Die Tabelle Mitarbeiter & Person stehen in Relation. Meine Quellcode sieht folgendermaßen aus:
Java:
try{
String sql = "INSERT INTO mitarbeiter (Vorname,Nachname,Geburtsdatum,Geschlecht,EMail,Mobilnummer) VALUES (?,?,?,?,?,?)";
pst1 = conn.prepareStatement(sql, pst1.RETURN_GENERATED_KEYS);
pst1.setString(1, txt_vorname.getText());
pst1.setString(2, txt_nachname.getText());
pst1.setString(3, txt_geb.getText());
String combobox_geschl = combobox_geschlecht.getSelectedItem().toString();
pst1.setString(4, combobox_geschl);
pst1.setString(5, txt_email.getText());
pst1.setString(6, txt_mobilnr.getText());
pst1.execute();
pst1.close();
//JOptionPane.showMessageDialog(null, "Die Daten wurden gespeichert!");
} catch(Exception e){
JOptionPane.showMessageDialog(null, e);
} finally {
try {
String sql1 = "INSERT INTO login (Benutzername,Passwort,Typ,MitarbeiterID) VALUES(?,?,?,(SELECT MAX(ID) FROM mitarbeiter))";
pst2 = conn.prepareStatement(sql1, pst2.RETURN_GENERATED_KEYS);
pst2.setString(1, txt_benutzername.getText());
pst2.setString(2, txt_passwort.getText());
String cbox_typ = combobox_typ.getSelectedItem().toString();
pst2.setString(3, cbox_typ);
pst2.execute();
pst2.close();
JOptionPane.showMessageDialog(null, "Die Daten wurden erfolgreich gespeichert!");
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
Momentan erfolgt die Speicherung eines Datensatzes nach dem Klicken auf das Button "speichern" unabhängig davon ob dieser bereits existiert oder nicht.
1. Wie kann ich jetzt einen Eintrag vorher prüfen?
2. Wie würde der Quellcode dann aussehen?
Ich habe schon einiges ausprobiert und komme da einfach kein Stück weiter - bin echt am zweifeln. Wäre echt lieb, wenn mir jemand da weiterhelfen könnte. Vielen Dank im Voraus!
Liebe Grüße