Свойство "Размер" имеет недопустимый размер 0

Я работаю над социальной сетью, одна из моих процедур возвращает выход VARCHAR. Так вот что я написал:

SqlParameter job1 = cmd2.Parameters.Add("@job", SqlDbType.VarChar);
job1.Direction = ParameterDirection.Output;

Однако эта ошибка возникает:

String [1]: свойство Size имеет недопустимый размер 0.

Ответы

Ответ 1

При указании параметра varchar вам нужно определить длину:

SqlParameter job1 = cmd2.Parameters.Add("@job", SqlDbType.VarChar, 50);

Вы должны использовать ту же длину, что и в хранимой процедуре SQL Server.

И btw: если ваша хранимая процедура также не имеет определенной длины (что-то вроде @job VARCHAR OUTPUT), то вы определили строку varchar длиной 1 символ......

Ответ 2

Да, нужно определить длину для типа данных varchar/nvarchar, как показано ниже.

cmd.Parameters.Add("@Description", SqlDbType.VarChar, 150).Direction =
    ParameterDirection.Output;