Che taglia usi per varchar (MAX) nella dichiarazione dei parametri?

Normalmente imposto la dimensione della mia colonna quando creo un parametro in ADO.NET

Ma che taglia devo usare se la colonna è VARCHAR(MAX) ?

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

In questo caso usi -1.

Per quelli di noi che non hanno visto -1 di Michal Chaniewski, la linea completa di codice:

 cmd.Parameters.Add("@blah",SqlDbType.VarChar,-1).Value = "some large text"; 

La dimensione massima SqlDbType.VarChar è 2147483647.

Se dovessi usare una connessione oledb generica invece di sql, ho trovato qui anche un tipo di dati LongVarChar. La sua dimensione massima è 2147483647.

 cmd.Parameters.Add("@blah", OleDbType.LongVarChar, -1).Value = "very big string"; 

Non è necessario passare il parametro delle dimensioni, basta solo dichiarare che Varchar comprende già che è MAX come:

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