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();
    

Anmelden zum Antworten