0
private void add(string design, string matricule, string qte, string type, string service, string fournisseur)
{
    string sql = "INSERT INTO db(designation-mat,matricule-mat,qte-mat,type-mat,service,fournisseur) VALUES (@DESIGN,@MATRICULE,@QTE,@TYPE,@SERVICE,@FOURNISSEUR)";
    cmd = new MySqlCommand(sql, con);

    cmd.Parameters.AddWithValue("@DESIGN", design);
    cmd.Parameters.AddWithValue("@MATRICULE", Convert.ToInt32(matricule));
    cmd.Parameters.AddWithValue("@QTE", Convert.ToInt32(qte));
    cmd.Parameters.AddWithValue("@TYPE", type);
    cmd.Parameters.AddWithValue("@SERVICE", service);
    cmd.Parameters.AddWithValue("@FOURNISSEUR", fournisseur);

    try
    {
        con.Open();

        if (cmd.ExecuteNonQuery() > 0)
        {
            cleartxts();
            MessageBox.Show("SuccessFuly Inserted!");
        }

        con.Close();
        retrieve();
    }
}
mm8
  • 163,881
  • 10
  • 57
  • 88
Rad304
  • 115
  • 1
  • 13

1 Answers1

2

Try to use ` around the column names:

string sql = "INSERT INTO db (`designation-mat`, `matricule-mat`, `qte-mat`, `type-mat`, service, fournisseur) VALUES (@DESIGN, @MATRICULE, @QTE, @TYPE, @SERVICE, @FOURNISSEUR)";

It is brackets [...] if you use SQL Server.

mm8
  • 163,881
  • 10
  • 57
  • 88