c# und mysql mit einem komischen fehler
-
mein quelltextausschnitt
this.db_command.CommandText = "insert into ARTIKEL values(" + itemp.ToString() + ",'" + this.menu_fenster.neu_fenster.code_neu_textbox.Text + "'" + ",'" + this.menu_fenster.neu_fenster.raum_neu_combo.Text + "'" + ",'" + this.menu_fenster.neu_fenster.abteilung_neu_combo.Text + "'" + ",'" + this.menu_fenster.neu_fenster.kategorie_neu_combo.Text + "'" + ",'" + this.menu_fenster.neu_fenster.bezeichnung_neu_textbox.Text + "'" + ",'" + bezeichnung_ext + "'" + ",'" + this.menu_fenster.neu_fenster.anschaffungszeitpunkt_neu_Mtextbox.Text + "'" + ",'" + this.menu_fenster.neu_fenster.preis_euro_neu_textbox.Text + "'" + ",'" + this.menu_fenster.neu_fenster.kommentar_neu_textbox.Text + "'" + ",'" + this.menu_fenster.neu_fenster.seriennummer_neu_textbox.Text + "'" + "," + lieferantennummer + ")" ; this.db_command.Connection = this.db_connection; this.sqlDataAdapter1.InsertCommand = db_command; this.db_connection.Open(); this.sqlDataAdapter1.InsertCommand.ExecuteNonQuery(); this.db_connection.Close();
dann kommt an der stelle wo das executenonquerry steht der fehler
"incorrect syntax near ')'"ich hab nicht die geringste ahnung warum weshalb und so..
-
Lass dir den fertigen CommandText doch mal durch ne MessageBox zeigen, evtl. sind da Sonderzeichen drin, die du escapen müsstest ?
Oder du benutzt Parameter, dann escaped der Mysql-Connector die Felder für dich schon selber korrekt:
MySqlCommand mysql_cmd; MySqlConnection mysql_conn; int IrgendneVariable=5; // integer string IrgendneAndereVariable="bluppdidupp"; // varchar oder text byte[] NochNeAndereVariable=new byte[12]; // BLOB // Hier Connection String dengeln ;D mysql_conn.Open(); mysql_cmd=mysql_conn.CreateCommand(); mysql_cmd.CommandText="INSERT INTO blupp VALUES (NULL, ?item1, ?item2, ?item3)"; mysql_cmd.Parameters.Add("?item1",IrgendneVariable); mysql_cmd.Parameters.Add("?item2",IrgendneAndereVariable); mysql_cmd.Parameters.Add("?item3",NochNeAndereVariable); mysql_cmd.ExecuteNonQuery(); mysql_conn.Close();