Laden...

Access-DB: Insert into - Syntaxfehler

Erstellt von Leo85 vor 2 Jahren Letzter Beitrag vor 2 Jahren 506 Views
L
Leo85 Themenstarter:in
5 Beiträge seit 2022
vor 2 Jahren
Access-DB: Insert into - Syntaxfehler

Hallo!

Ich habe folgende, simple, Aufgabe: Ich habe eine Windows-Forms Anwendung, und will Werte aus verschiedenen Textboxen in eine Access-Datenbank (*.mdb) mit "Insert Into" schreiben.
Ähnliches habe ich zuvor in einem anderen Programm, mit einer anderen Access-Datenbank, schon gemacht und hat auch funktioniert. Dieses mal erscheint immer der Fehler "Syntaxfehler in der Inser Into Anweisung", ich komme jedoch einfach nicht auf den Fehler:

Hier mein Code:


using var con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Properties.Settings.Default.DatabaseDashboardURL);
                con.Open();

                
                string st = "INSERT INTO User_defined_projects " +
                    "(Project_Nr,Project_Path,Project_TSB_Path,Project_Feasibility_Path,Project_BSPP_Path,Project_Spec_Path,Project_OverviewFile_Path,User)" +
                    "VALUES(@nr,@project,@tsb,@feasibility,@BSPP,@spec,@overview,@user)";

                OleDbCommand comm = new OleDbCommand(st, con);

                comm.Parameters.AddWithValue("nr", textBoxProjectName.Text);
                comm.Parameters.AddWithValue("project", textBoxMainFolder.Text);
                comm.Parameters.AddWithValue("tsb", textBoxTSB.Text);
                comm.Parameters.AddWithValue("feasibility", textBoxFeasibility.Text);
                comm.Parameters.AddWithValue("BSPP", textBoxBSPP.Text);
                comm.Parameters.AddWithValue("spec", textBoxSpecification.Text);
                comm.Parameters.AddWithValue("overview", textBoxOverview.Text);
                comm.Parameters.AddWithValue("user", Environment.UserName);

                comm.ExecuteNonQuery();
                con.Close();

Im Anhang noch der Aufbau meiner Tabelle "User_defined_projects".

Wahrscheinlich ist es nur eine Kleinigkeit, und ich bin einfach blind, aber vl. kann mir ja jemand auf die Sprünge helfen.

Danke schon mal.

H
523 Beiträge seit 2008
vor 2 Jahren

Liegt's vielleicht daran, dass "user" ein reserved Word in Access ist?

L
Leo85 Themenstarter:in
5 Beiträge seit 2022
vor 2 Jahren

vielen, vielen Dank; genau das war der Fehler!

Da hätt ich auch selber drauf kommen können🙄

T
2.222 Beiträge seit 2008
vor 2 Jahren

Kleiner Hinweis am Rande.
Als Anwendungsdatenbank nimmt man unter .NET nicht Access.
Dafür ist es nicht gedacht und sollte in .NET auch nicht verwendet werden, wenn es keinen driftigen Grund gibt.
Dafür gibt es Embedded Datenbanken wie SQLite.

Diese werden auch von aktuellen OR Mappern wie Entity Framework Core unterstützt und nehmen dir hier den SQL bau sogar komplett ab.
Solltest du dir mal anschauen, spart dir bei großen Projekten enorm viel Tipp arbeit.

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.