C# Une insertion

Résolu/Fermé
SarahF - 18 oct. 2011 à 10:42
 SarahF - 18 oct. 2011 à 12:18
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

thanassos Messages postés 1706 Date d'inscription lundi 19 février 2007 Statut Contributeur Dernière intervention 12 février 2016 137
18 oct. 2011 à 10:48
Bonjour,
je pense que ça vient de ton ton ["@MAGCP"], comme c'est un nombre, ne met pas d'apostrophes.
0
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
thanassos Messages postés 1706 Date d'inscription lundi 19 février 2007 Statut Contributeur Dernière intervention 12 février 2016 137
18 oct. 2011 à 11:13
Essaye au pire de le retirer voir si ça vient bien de ça.
0
Non ça ne marche pas, merci quand même!
0
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
thanassos Messages postés 1706 Date d'inscription lundi 19 février 2007 Statut Contributeur Dernière intervention 12 février 2016 137
18 oct. 2011 à 12:01
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