web-dev-qa-db-fra.com

La propriété Size a une taille non valide de 0

Je travaille sur un réseau social, une de mes procédures renvoie une sortie VARCHAR. Voici donc ce que j'ai écrit:

SqlParameter job1 = cmd2.Parameters.Add("@job", SqlDbType.VarChar);
job1.Direction = ParameterDirection.Output;

Cependant cette erreur apparaît:

Chaîne [1]: la propriété Size a une taille non valide de 0.

35
RuMoR

Vous devez définir une longueur lorsque vous spécifiez le paramètre varchar:

SqlParameter job1 = cmd2.Parameters.Add("@job", SqlDbType.VarChar, 50);

Vous devez utiliser la même longueur que celle définie dans votre procédure stockée SQL Server.

Et btw: si votre procédure stockée n'a pas non plus de longueur définie (quelque chose comme @job VARCHAR OUTPUT) - alors vous avez défini une chaîne de varchar de 1 caractère ......

63
marc_s

Oui, vous devez définir la longueur du type de données varchar/nvarchar comme ci-dessous.

cmd.Parameters.Add("@Description", SqlDbType.VarChar, 150).Direction =
    ParameterDirection.Output;
2
user7610934