Ответ 1
В этом случае вы используете -1.
Обычно я устанавливаю размер столбца при создании параметра в ADO.NET
Но какой размер я использую, если столбец 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 нравится:
cmd.Parameters.Add("@blah",SqlDbType.VarChar).Value = "some large text";
Если вы делаете что-то вроде этого:
cmd.Parameters.Add("@blah",SqlDbType.VarChar).Value = "some large text";
размер будет взят из "большого текста". Длина
Это может быть проблематично, когда в качестве выходного параметра вы получаете не больше символов, чем вы вводите в качестве ввода.