Entwickler-Ecke

Datenbanken (inkl. ADO.NET) - Synatxfehler in der instert into Anweisung


paddy14 - Do 05.05.11 15:27
Titel: Synatxfehler in der instert into Anweisung
Ich habe ein Problem,
ich bekomme immer diese Fehlermeldung.

Ich habe mit Access eine DB und eine Tabelle erstellt.
Bloß ich weiß nicht was ich falsch mache, hier der Code:


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
OleDbConnection con = new OleDbConnection();
            OleDbCommand cmd = new OleDbCommand();            
            int anzahl;
            con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=C:\\Dokumente und Einstellungen\\tom\\Desktop\\Userdb.mdb";

            cmd.Connection = con;
            cmd.CommandText = "insert into User(id, name) values(11, 'tom')";

            con.Open();
            anzahl = cmd.ExecuteNonQuery();
            MessageBox.Show(anzahl+"");
            con.Close();


jaenicke - Do 05.05.11 15:37

Wie dir der Highlighter hier zeigt ist User ein reserviertes Wort bei SQL:

SQL-Anweisung
1:
insert into User(id, name) values(11'tom')                    

Benenne also deine Tabelle einfach besser oder hänge die Dateiendung an, das könnte auch gehen.


paddy14 - Do 05.05.11 15:53

Danke dir, es geht, wie blöd von mir.