Erreur: la variable scalaire "@PRENOM" doit être déclarée
Salut à tous,
J'ai voulu changé la façon dont je faisais la mise à jour dans une table SQL. Auparavant j'utilisais des instructions du genre:
Code:
SqlCommand cmd = new SqlCommand("Select * from Customers where city = '" + inputCity + "'";
Mais après j'ai su qu'il y a la solution avec paramètre pour éviter d'avoir une erreur engendré par les chaines de caractères en '.
J'ai développé mon code, mais j'ai l'erreur comme donnée dans le sujet.
voici mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| private int Execute_update_insert_delete(string requeteString, string p_prenom, string p_nom, string p_sexe,DateTime p_date_naissance,string p_pays, string p_passe,string p_email,DateTime p_date_creation, string p_adresse)
{
var connString = ConfigurationManager.ConnectionStrings["XXOA_MAILS_ConnectionString"].ConnectionString;
SqlConnection conn = new SqlConnection(connString);
conn.Open();
SqlCommand cmd = new SqlCommand(requeteString, conn);
SqlParameter param = new SqlParameter();
param.ParameterName = "@PRENOM";
param.Value = p_prenom;
param.ParameterName="@NOM";
param.Value = p_nom;
param.ParameterName="@SEXE";
param.Value= p_sexe;
param.ParameterName="@DATE_NAISSANCE";
param.Value= p_date_naissance;
param.ParameterName="@PAYS";
param.Value= p_pays;
param.ParameterName="@PASSE";
param.Value= p_passe;
param.ParameterName="@EMAIL";
param.Value= p_email;
param.ParameterName="@DATE_CREATION";
param.Value= p_date_creation;
param.ParameterName="@ADRESSE";
param.Value = p_adresse;
cmd.Parameters.Add(param);
int countLigne = 0;
countLigne = cmd.ExecuteNonQuery();
return countLigne;
} |
L’exécution:
Code:
1 2
| string Stringreq = "INSERT INTO [OCP_Portail_Fournisseurs].[dbo].[XXOA_TABLE_MAILS] ([PRENOM],[NOM],[SEXE],[DATE_NAISSANCE],[PAYS],[MOT_DE_PASSE],[MAIL],[DATE_CREATION],[ADRESSE]) VALUES (@PRENOM,@NOM,@SEXE,@DATE_NAISSANCE,@PAYS,@PASSE,@EMAIL,@DATE_CREATION,@ADRESSE)";
Execute_update_insert_delete(Stringreq, Prenom_TextBox.Text.ToString(), Nom_TextBox.Text.ToString(), v_sexe, v_date_naissance, Pays_TextBox.Text.ToString(), GetMD5(Passe_TextBox.Text.ToString()), Email_TextBox.Text.ToString(), DateTime.Now, Adresse_Textbox.Text.ToString()); |
Merci à vous.