S
Seba
Gast
Hallo Leute,
ich habe ein kleines Programm geschrieben, mit dem ich Vornamen, Nachnamen, ZIP und Ort in eine mysql Tabelle schreiben lassen kann.
das einfügen in die Datenbank funktioniert auch teilweise. Doch es gibt ein Problem:
wenn ich am textfieldNachname etwas anderes eintragen will als "nachnamen", dann gibt er mir folgende exception aus:
wenn ich "nachnamen" darin stehen lasse, dann wirft er zwar keine Exception, trägt es aber nicht in die SQL Tabelle ein...
Hier noch der zugehörige Mapper incl dem SQL statement.
Ich habe die Vermutung das es an dem SQL Befehl liegen kann?
ich habe ein kleines Programm geschrieben, mit dem ich Vornamen, Nachnamen, ZIP und Ort in eine mysql Tabelle schreiben lassen kann.
das einfügen in die Datenbank funktioniert auch teilweise. Doch es gibt ein Problem:
wenn ich am textfieldNachname etwas anderes eintragen will als "nachnamen", dann gibt er mir folgende exception aus:
Java:
postit.PostitVerwaltungImpl createPerson
SCHWERWIEGEND: null
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'Nachna' in 'field list'
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.Util.getInstance(Util.java:381)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1030)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3515)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3447)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1951)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2548)
at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1605)
at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1524)
at db.PersonenMapper.insert(PersonenMapper.java:68)
at postit.PostitVerwaltungImpl.createPerson(PostitVerwaltungImpl.java:74)
at gui.client.buttonSendenActionPerformed(client.java:303)
at gui.client.access$000(client.java:18)
at gui.client$1.actionPerformed(client.java:64)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6134)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
at java.awt.Component.processEvent(Component.java:5899)
at java.awt.Container.processEvent(Container.java:2023)
at java.awt.Component.dispatchEventImpl(Component.java:4501)
at java.awt.Container.dispatchEventImpl(Container.java:2081)
at java.awt.Component.dispatchEvent(Component.java:4331)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4301)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3965)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3895)
at java.awt.Container.dispatchEventImpl(Container.java:2067)
at java.awt.Window.dispatchEventImpl(Window.java:2458)
at java.awt.Component.dispatchEvent(Component.java:4331)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
wenn ich "nachnamen" darin stehen lasse, dann wirft er zwar keine Exception, trägt es aber nicht in die SQL Tabelle ein...
Java:
private void buttonSendenActionPerformed(java.awt.event.ActionEvent evt) {
String nachname = textfieldNachname.getText();
String vorname = textfieldVorname.getText();
String zip = textfieldZIP.getText();
String ort = textfieldOrt.getText();
try {
Person person = new PersonImpl();
person.setNachname(nachname);
person.setVorname(vorname);
person.setZip(zip);
person.setOrt(ort);
PostitVerwaltung verwaltung = new PostitVerwaltungImpl(person, PersonenMapper.personenMapper());
verwaltung.createPerson(
person.getNachname(),
person.getVorname(),
person.getZip(),
person.getOrt());
JOptionPane.showMessageDialog(null,"Die Person wurde erfolgreich in die Datenbank eingetragen.");
} catch (RemoteException ex) {
Logger.getLogger(client.class.getName()).log(Level.SEVERE, null, ex);
}
}
Hier noch der zugehörige Mapper incl dem SQL statement.
Java:
public Person insert(Person p) throws SQLException {
Connection con = DBConnection.connection();
try {
Statement stmt = con.createStatement();
// Jetzt erst erfolgt die tatsächliche Einfügeoperation
stmt.executeUpdate("INSERT INTO postit (nachname, vorname, zip, ort) " +
"VALUES (" +
p.getNachname() + ",'" +
p.getVorname() + "','" +
p.getZip() + "','" +
p.getOrt() + "')");
}
catch(RemoteException ex) {
ex.printStackTrace();
}
// }
// } catch (SQLException e2) {
// e2.printStackTrace();
// }
return p;
}
Ich habe die Vermutung das es an dem SQL Befehl liegen kann?
Zuletzt bearbeitet von einem Moderator: