Daten in DB schreiben

Fröschle

Grünschnabel
Habe ein Gui, in das ich Mitarbeiter neu eingeben kann, bei der SQL-Anweisung bringt er mir aber Syntaxe-Fehler.
Kann mir jemand helfen?
Ich hab mal den Programm-Ausschnitt:

Verbindung_herstellen();

Code:
stmt.executeUpdate("INSERT INTO Personal (Nachname, Vorname, Position, Anrede, Geburtsdatum, Einstellung, Straße, Ort, Region, PLZ, Land, [Telefon privat], [Durchwahl Büro], Foto, Bemerkungen, [Vorgesetzte(r)], Gehalt) VALUES ('" + obj[0].toString() + "','" + obj[1].toString() + "','" + obj[2].toString() + "','" + obj[3].toString() + "','"  + obj[4].toString() + "','" + obj[5].toString() + "','" + obj[6].toString() + "','" + obj[7].toString() + "','" + obj[8].toString() + "','" + obj[9].toString() + "','" + obj[10].toString() + "','" + obj[11].toString() + "','" + obj[12].toString() + "','" + obj[13].toString() + "','" + obj[14].toString() + "'," + obj[15].toString() + "," + obj[16].toString() + "')");
            
System.out.println("SQl-String used: " + stmt);
System.out.println("good. database insert successfull");
        }
catch (Exception e) {
            System.err.println("Fehler beim Bearbeiten der SQL-Anweisung: "+e);
            
        }
 
Zuletzt bearbeitet von einem Moderator:
Also konkret gibt er aus:

Fehler beim Bearbeiten der SQL-Anweisung: java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Syntaxfehler in der INSERT INTO-Anweisung.
going to fire database update with new person...
prechecking data...
pre-INSERT jobs complete!
now defining SQL statement...
Writing new Person to DB

Passiert aber nix!
 
Mir fallen zwei Dinge auf:

Du sprichst 17 Felder an aber übergibst nur 16 Werte - das kann nicht gut gehen :-)
und bist du sicher das alle werte Stringwerte sind ?

PLZ und Gehalt könnten auch Zahlenwerte sein

und du solltes es vermeiden in den Spaltennamen Sonderzeichen und Leerzeichen zu verwenden
 
Zurück