attend le paramètre '@ID', qui n'a pas été fourni?
Je suis l'envoi de l'ID comme outparameter mais sa présentation erreur
Système.Les données.SqlClient.SqlException: de la Procédure ou de la fonction
'usp_ClientHistoryItem' s'attend à ce paramètre "@ID", ce qui n'était pas
fourni.
Code
using (SqlCommand cmd = new SqlCommand("dbo.usp_ClientHistoryItem", conn))
{
SqlParameter parameterID = new SqlParameter("@ID", oReservation.Id);
parameterID.Direction = ParameterDirection.Output;
cmd.Parameters.Add(parameterID);
cmd.Parameters.Add(new SqlParameter("@PhoneNo", oReservation.ClientPhone));
cmd.Parameters.Add(new SqlParameter("@UserId", oReservation.UserID));
cmd.Parameters.Add(new SqlParameter("@Description", oReservation.Description));
cmd.Parameters.Add(new SqlParameter("@TestId", oReservation.TestId));
cmd.Parameters.Add(new SqlParameter("@StartDate", oReservation.StartDate));
cmd.ExecuteNonQuery();
returnValue = Convert.ToInt32(cmd.Parameters["@ID"].Value);
return returnValue;
}
source d'informationauteur Azhar
Vous devez vous connecter pour publier un commentaire.
Vous semblez être l'appel d'une procédure stockée, mais vous n'avez jamais défini votre
SqlCommand
à une procédure stockée:Si vous oubliez cette ligne, puis ADO.NET va essayer d'interpréter votre stuff ad-hoc de l'instruction SQL....
Votre ID de paramètre dans la procédure stockée doit être défini comme paramètre de SORTIE. Vous êtes juste mettre le code dans une procédure stockée.
ce résoudre mon problème
peut-être il peut utile
cmd.CommandType = CommandType.StoredProcedure;
Hy gars.
Vous devez définir la propriété CommandType pour la Commande à StoredProcedure si c'est le cas. Sinon, il woun pas en mesure de détecter les paramètres.
Une autre raison de cette erreur est levée, c'est quand les noms de variable ne correspond pas dans votre procédure stockée et le code, car le code ne parvient pas à trouver le paramètre dont la valeur doit être passé. Assurez-vous qu'ils correspondent à:
Procédure stockée:
Code:
Le paramètre
@ID
doivent correspondre à la fois le code et la procédure stockée