Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hallo Zusammen, kann mir jemand mal schnell helfen, wie ich diese SQL-Anweisung richtig formuliere? Ich hab schon mehrere Möglichkeiten versucht und es kommt trotzdem andauernd die Meldung: java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Syntaxfehler in der INSERT INTO-Anweisung
Code:
String update = ("INSERT INTO Kunden SET (Name, Adresse, Ansprechpartner) VALUES ('"+fi+"', '"+ad+"', '"+an+"')");
Vielen Dank im voraus!!!
Vielen Dank für eure Antworten. Ich ich hab jetzt mal den SQL so geschieben, wie Timmah es beschrieben hat. Leider kommt die Fehlermeldung immer noch. Ich glaub langsam eher, dass die Eingabe nicht übergeben wird.
Ich hab euch mal nen Auszug:
Code:
import java.sql.*;
public class DB_Speichern
{
public void saveEingabe(String an, String ad, String fi)
{
try {
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
}
catch ( ClassNotFoundException e ) {
System.out.println( "Fehler bei ODBC-JDBC-Bridge" + e );
return;
}
Connection conn;
Statement stmt;
int rSet;
try
{
String url = "jdbc:odbc:Kunden_SS06";
conn = DriverManager.getConnection(url); //Treiber laden + Connection
stmt = conn.createStatement();
String updateString = "INSERT INTO Kunden (Namen, Adresse, Ansprechpartner) VALUES
('"+fi+"', '"+ad+"', '"+an+"')";
rSet = stmt.executeUpdate( updateString );
stmt.close();
conn.close();
}
catch ( SQLException e )
{
System.out.println( "Fehler bei Tabellenabfrage " + e);
}
}
}
und hier mein Button in einer anderen Klasse:
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
DB_Speichern sp= new DB_Speichern();
sp.saveEingabe(jTextField1.getText(), jTextField2.getText(), jTextField3.getText());
}
Danke für den Tipp! Ich habs mal versucht. Leider kommt des Programm mit setString nicht klar. Irgendwas stimmt noch nicht??? Kannst du mir vielleicht nochmal einen Tipp geben an welcher Stelle es hängt?
Code:
String url = "jdbc:odbc:Kunden_SS06";
conn = DriverManager.getConnection(url);
String updateString = "INSERT INTO Kunden (Firmenname, Firmenadresse, Ansprechpartner) VALUES (?,?,?)";
stmt = null;
stmt = conn.prepareStatement(updateString);
stmt.setString(1, "fi");
stmt.setString(2, "ad");
stmt.setString(2, "an");
int rows = stmt.executeUpdate(updateString);
if (rows == 1) {
// eine Zeile eingefügt, genau wie geplant
System.out.println("Hat geklappt.");
Irgendwie bekomm ich das nicht hin. Das Programm läßt sich jetzt starten. Aber beim Durchlauf kommt die nächste Fehlermeldung:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Der bringt mir jedesmal die Fehlermeldung:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at DB_Speichern.saveEingabe(DB_Speichern.java:33) usw...
Also ... wenn die Zeilennummerierung hier mit deiner übereinstimmt, dann wäre es das Statement, was gleich null sein müsste. Dann müsste es aber zwei Zeilen drüber schon krachen. Mit anderen Worten: "übersetze" bitte mal die Zeilenangabe ;-)
Das Stementent was gleich null sein müßte, jaja ;-) Jetzt hast mich drauf gebracht! Ich habs umgestellt, es läuft jetzt zum Glück! Vielen Dank für deine Bemühungen und deine Hilfe... Gruß Marcel