Обычно я задаю размер столбца при создании параметра в ADO.NET
Но какой размер мне использовать, если столбец VARCHAR(MAX)?
VARCHAR(MAX)
cmd.Parameters.Add("@blah", SqlDbType.VarChar, ?????).Value = blah;
В этом случае вы используете -1.
Для тех из нас, кто не видел -1 Михала Чаневски, полная строка кода:
cmd.Parameters.Add("@blah",SqlDbType.VarChar,-1).Value = "some large text";
Максимальный размер SqlDbType.VarChar составляет 2147483647.
Если бы вы использовали общее oledb-соединение вместо sql, я нашел здесь также есть тип данных LongVarChar. Его максимальный размер 2147483647.
cmd.Parameters.Add("@blah", OleDbType.LongVarChar, -1).Value = "very big string";
Вам не нужно передавать параметр размера, просто объявите, Varchar уже понимает, что это MAX, как:
Varchar
cmd.Parameters.Add("@blah",SqlDbType.VarChar).Value = "some large text";