C# Une insertion

Résolu
SarahF -  
 SarahF -
Bonjour,

Je vous écris parce que je suis désespéré ça fait maintenant 2 semaines que je suis bloqué à un problème tout bête, j'ai mon code d'insertion, il n'y a pas d'erreurs mais lorsque j'exécute le projet il me surligne : "cmd.executenonquery();" en me disant que mes colonnes ne sont pas valides ... je vous met mon code ! Merci d'avance !

SqlCommand cmd = new SqlCommand("INSERT INTO MAGASINS ('MAGNOM','MAGADRESSE','MAGVILLE','MAGCP','MAGTEL','MAGFAX','MAGHEUREOUVERTURE','MAGHEUREFERMETURE') VALUES ('@MAGNOM','@MAGADRESSE','@MAGVILLE','@MAGCP','@MAGTEL','@MAGFAX','@MAGHEUREOUVERTURE','@MAGHEUREFERMETURE')", cs);
cmd.Parameters.Add("@MAGNOM", SqlDbType.VarChar);
cmd.Parameters.Add("@MAGADRESSE", SqlDbType.VarChar);
cmd.Parameters.Add("@MAGVILLE", SqlDbType.VarChar);
cmd.Parameters.Add("@MAGCP", SqlDbType.Int);
cmd.Parameters.Add("@MAGTEL", SqlDbType.VarChar);
cmd.Parameters.Add("@MAGFAX", SqlDbType.VarChar);
cmd.Parameters.Add("@MAGHEUREOUVERTURE", SqlDbType.DateTime);
cmd.Parameters.Add("@MAGHEUREFERMETURE", SqlDbType.DateTime);
cmd.Parameters["@MAGNOM"].Value = efNomMag.Text;
cmd.Parameters["@MAGADRESSE"].Value = efAdresseMag.Text;
cmd.Parameters["@MAGVILLE"].Value = efVilleMag.Text;
cmd.Parameters["@MAGCP"].Value = efCPMag.Text;
cmd.Parameters["@MAGTEL"].Value = efTelMag.Text;
cmd.Parameters["@MAGFAX"].Value = efFaxMag.Text;
cmd.Parameters["@MAGHEUREOUVERTURE"].Value = efHeureOuv.Text;
cmd.Parameters["@MAGHEUREFERMETURE"].Value = efHeureFer.Text;
cs.Open();
cmd.ExecuteNonQuery();
cs.Close();

:)

1 réponse

  1. thanassos Messages postés 1762 Date d'inscription   Statut Contributeur Dernière intervention   137
     
    Bonjour,
    je pense que ça vient de ton ton ["@MAGCP"], comme c'est un nombre, ne met pas d'apostrophes.
    0
    1. SarahF
       
      Oui j'ai essayé mais si j'enlève les apostrophes, il y a une erreur comme quoi le programme ne reconnait pas MAGCP
      0
    2. thanassos Messages postés 1762 Date d'inscription   Statut Contributeur Dernière intervention   137
       
      Essaye au pire de le retirer voir si ça vient bien de ça.
      0
    3. SarahF
       
      Non ça ne marche pas, merci quand même!
      0
    4. SarahF
       
      Tu as totalement raison, c'est bien [@MAGCP] qui me pose problème, maintenant le programme me souligne "this.mAGASINSTableAdapter.Fill(this.gOSDataSet.MAGASINS);" en me disant que "le format de la chaîne d'entrée est incorrect. Impossible de stocker <@MAGCP> dans la colonne <MAGCP>. Type attendu est Int32.

      Pourrais-tu m'aider s'il te plaît ?
      0
    5. thanassos Messages postés 1762 Date d'inscription   Statut Contributeur Dernière intervention   137
       
      le type doit être mauvais dans ta déclaration
      cmd.Parameters.Add("@MAGCP", SqlDbType.Int);
      est tu sure que ta colone ne contient bien que des nombres? sinon tu devrai essayer en la passant en varchar et remettre les guillemets
      0