Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 20045|Ответ: 0

[Источник] Строка[3]: свойство Size имеет недопустимый размер 0.

[Скопировать ссылку]
Опубликовано 26.10.2015 9:39:40 | | |
При вызове сохранённой процедуры в программе на C# встречается странное исключение String[3]: свойство Size имеет недопустимый размер 0.

Сохранённая процедура с такой проблемой характеризуется наличием параметров типа varchar или nvarchar

Определение этого параметра в момент вызова похоже на
SqlParameter para = новый SqlParameter("@paraname", DBType.String);


Обходной путь: параметр выхода должен иметь заданную длину, поэтому его следует инициализировать следующим образом:
SqlParameter para = new SqlParameter("@paraname", DBType.String, size);

  1. DBHelper db = new DBHelper();
  2.             SqlParameter[] param = new SqlParameter[5];
  3.             param[0] = new SqlParameter("ID", SqlDbType.Int);
  4.             param[0].Direction = ParameterDirection.Output;
  5.             param[1] = new SqlParameter("UserID", userid);
  6.             param[2] = new SqlParameter("UserName", SqlDbType.NVarChar, 50);
  7.             param[2].Direction = ParameterDirection.Output;
  8.             param[3] = new SqlParameter("Password", pass);
  9.             param[4] = new SqlParameter("Result", SqlDbType.Int);
  10.             param[4].Direction = ParameterDirection.Output;

  11.             var spc = db.Crm_ExecuteNonQueryReturns("pUserLogin",param);
Копирование кода






Предыдущий:Сравните производительность первичного ключа поля Guid с помощью самоинкрементального поля в библиотеке
Следующий:Один вопрос о сериализации и десериализации
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com