Problème d'ajout de paramètre à un ExecuteReader
Salut !
J'ai ici une fonction qui renvoie une liste de commandes en fonction de l'ID du client...
Mon problème, c'est qu'il ne détecte pas l'ID que je lui joins en paramètre... Et je ne sais absolument pas pourquoi !
Message :
Citation:
e = {"La procédure ou fonction 'SelectAllCommandesParClient' attend le paramètre '@Id', qui n'a pas été fourni."}
Si vous y comprenez qqch, merci d'avance pour votre aide ! ;)
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 34 35 36 37
| public static List<CommandeBO> SelectAllListCommandeParClient(int Id)
{
SqlConnection objconnection = new SqlConnection();
objconnection.ConnectionString = "Data Source=" + System.Environment.MachineName + "\\SQLEXPRESS; Database=Les3as;UID=Mike;PWD=*****";
SqlDataReader objreader;
SqlCommand objCommand = new SqlCommand();
objCommand.Connection = objconnection;
objCommand.CommandType = CommandType.StoredProcedure;
objCommand.CommandText = "SelectAllCommandesParClient";
SqlParameter objParam;
objParam = new SqlParameter("@Id_Client", Id);
objCommand.Parameters.Add(objParam);
objconnection.Open();
try
{
objreader = objCommand.ExecuteReader();
}
catch (SqlException e)
{
throw e;
}
List<CommandeBO> objlist = new List<CommandeBO>();
while (objreader.Read())
{
CommandeBO objCommande = new CommandeBO();
objCommande.IdCommande = System.Convert.ToInt32(objreader["Id_Commande"]);
objCommande.IdClient = System.Convert.ToInt32(objreader["Id_Client"]);
objCommande.LaDate = System.Convert.ToDateTime(objreader["Date_Commande"]);
objCommande.NoCommande = System.Convert.ToInt32(objreader["No_Commande"]);
objCommande.Livree = System.Convert.ToBoolean(objreader["Livree"]);
objlist.Add(objCommande);
}
objconnection.Close();
return objlist;
} |