Hallo!
Ich versuche mich gerade in SQL Abfragen.
Soviel dazu: Abfragen selbst sind kein Thema, ich hole problemlos Daten aus selbst erstellten Tabellen und zeige diese in JTables an.
Nun wollte ich versuchen einen neuen Datensatz in eine Tabelle einzufügen!
Die Tabelle sieht wiefolgt aus:
Index(int), Vorname(text), Nachname(text), Straße(text), PLZ(int), Ort(text), Telefon(int)
Der Versuch (etwa der 100ste):
Ich bekomme alle Daten als Eingabe von einer weiteren Klasse zurück geliefert und rufe
die cmdSQL mit allen Parametern auf! Einige Werte brauch ich als int, also werden diese unten konvertiert.
Ich habe es bereits überall mit " ' " ect. versucht, leider kein Erfolg.
Syntax Errors, jedes mal.
Bitte um Ratschläge.
Gruß,
Markus
Ich versuche mich gerade in SQL Abfragen.
Soviel dazu: Abfragen selbst sind kein Thema, ich hole problemlos Daten aus selbst erstellten Tabellen und zeige diese in JTables an.
Nun wollte ich versuchen einen neuen Datensatz in eine Tabelle einzufügen!
Die Tabelle sieht wiefolgt aus:
Index(int), Vorname(text), Nachname(text), Straße(text), PLZ(int), Ort(text), Telefon(int)
Der Versuch (etwa der 100ste):
Ich bekomme alle Daten als Eingabe von einer weiteren Klasse zurück geliefert und rufe
die cmdSQL mit allen Parametern auf! Einige Werte brauch ich als int, also werden diese unten konvertiert.
Java:
public static void cmdSQL(String Index, String Vorname, String Nachname, String Straße, String PLZ, String Ort, String Telefon)
{
try
{
PreparedStatement statement = cn.prepareStatement("INSERT INTO benutzer (Index, Vorname, Nachname, Straße, PLZ, Ort, Telefon) VALUES ( ?, ?, ?, ?, ?, ?, ?)");
statement.setInt(1, Integer.parseInt(Index)); //Auch bei direkter Eingabe kein Erfolg
statement.setString(2, Vorname);
statement.setString(3, Nachname);
statement.setString(4, Straße);
statement.setInt(5, Integer.parseInt(PLZ));
statement.setString(6, Ort);
statement.setInt(7, Integer.parseInt(Telefon));
statement.execute();
}
catch (SQLException e)
{
e.printStackTrace();
}
}
Ich habe es bereits überall mit " ' " ect. versucht, leider kein Erfolg.
Syntax Errors, jedes mal.
Java:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Index, Vorname, Nachname, Straße, PLZ, Ort, Telefon) VALUES ( 3, 'a', 'b', 'c',' at line 1
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.Util.getInstance(Util.java:386)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1053)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4096)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4028)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2490)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2651)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2734)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)
at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1379)
at TestWnd.cmdSQL(TestWnd.java:184)
at InputDlg$1.actionPerformed(InputDlg.java:101)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Bitte um Ratschläge.
Gruß,
Markus