Il y a tellement de questions sur SO sur cette exception. Mais aucun d'eux ne m'a été utile.Procédure ou fonction a trop d'arguments spécifiés
Voici ma procédure stockée:
CREATE PROCEDURE HolidayStandardMappingInsert
@HolidayID bigint,
@StandatdID smallint
AS
BEGIN
INSERT INTO HolidayStandardMapping VALUES(@HolidayID,@StandatdID)
END
GO
Et voici mon code:
int StdId = 0;
SqlCommand cmdS = new SqlCommand("HolidayStandardMappingInsert", conn);
cmdS.CommandType = CommandType.StoredProcedure;
for (int i = 0; i < cblStandard.Items.Count; i++)
{
if (cblStandard.Items[i].Selected == true)
{
if (StdId == 0)
StdId = Convert.ToInt32(cblStandard.Items[i].Value);
else
StdId = Convert.ToInt32(cblStandard.Items[i].Value);
cmdS.Parameters.AddWithValue("@HolidayID", NewRecordID);
cmdS.Parameters.AddWithValue("@StandatdID", StdId);
if (conn.State == ConnectionState.Open)
{
conn.Close();
}
conn.Open();
int res = cmdS.ExecuteNonQuery();
if (res > 0)
{
}
}
}
Dites-moi ce qui manque?
Vous lisez les paramètres chaque fois que vous entrez une boucle 'for'. Vous devez soit supprimer à chaque fois, soit créer 'SqlCommand' dans la boucle' for'. –