Réponses:
Dans ce cas, vous utilisez -1.
Pour ceux d'entre nous qui n'ont pas vu -1 de Michal Chaniewski, la ligne complète de code:
cmd.Parameters.Add("@blah",SqlDbType.VarChar,-1).Value = "some large text";
La taille maximale de SqlDbType.VarChar est 2147483647.
Si vous utilisiez une connexion oledb générique au lieu de sql, j'ai trouvé ici qu'il existe également un type de données LongVarChar. Sa taille maximale est 2147483647.
cmd.Parameters.Add("@blah", OleDbType.LongVarChar, -1).Value = "very big string";
Vous n'avez pas besoin de passer le paramètre size, déclarez simplement Varchar
qu'il comprend déjà que c'est MAX comme:
cmd.Parameters.Add("@blah",SqlDbType.VarChar).Value = "some large text";
Si vous faites quelque chose comme ça:
cmd.Parameters.Add("@blah",SqlDbType.VarChar).Value = "some large text";
la taille sera extraite de "un gros texte".
Cela peut être problématique lorsqu'il s'agit d'un paramètre de sortie, vous ne récupérez plus de caractères que vous mettez en entrée.