web-dev-qa-db-fra.com

Quelle taille utilisez-vous pour varchar (MAX) dans votre déclaration de paramètre?

Je règle normalement la taille de ma colonne lors de la création d'un paramètre dans ADO.NET

Mais quelle taille dois-je utiliser si la colonne est VARCHAR(MAX)?

cmd.Parameters.Add("@blah", SqlDbType.VarChar, ?????).Value = blah;
176
mrblah

Dans ce cas, vous utilisez -1.

270

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";
47
Sam Meshesha

La taille maximale de SqlDbType.VarChar est 2147483647.

Si vous souhaitez utiliser une connexion générique oledb au lieu de sql, j'ai trouvé ici , 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";
3
Eric Draven

Vous n'avez pas besoin de passer le paramètre de taille, déclarez simplement Varchar comprend déjà qu'il s'agit de MAX comme:

cmd.Parameters.Add("@blah",SqlDbType.VarChar).Value = "some large text";
2
Igor Macedo