Что означает предупреждение?
это когда ты вставляешь длииинную строку в короткое поле, и она обрезается.
Но где это может быть? При передаче параметра в C# или уже при вставке значения в таблицу?
Уже при вставке. Это из sql'я ошибка.
А как она могла появиться, когда работала раньше без проблем? Как узнать, где возникает? У меня все столбики в таблице только Int, DateTime, Float и VarChar...
VarChar
Parameter VarChar(50) -> Parameter VarChar(100)?

Это зависит от твоего контента. Можешь попробовать сделать Varchar(max если по этому полю нет и не будет индекса.


Проверить длину или принудительно ограничить поле и проинформировать пользователя ДО записи и предоставить ему возможность отредактировать данные снова, а не писать их базу.

Object cannot be cast from DBNullзначит из базы возвращается null, а ты пытаешься конвертировать его в значение (в число или строку, например)
Можно ли в код добавить некоторый условный оператор: если NULL, то просто не беру из базы данные, если не NULL, то конвертировать? Возможно ли? Есть другие методы, более лёгкие или более оптимальные?
Поправь запрос в базе и не выбирай из нее null'ы
isnull(PossibleNullField, '')
isnull(PossibleNullField, 0) - какой там тип требуется
ну или добавить на выборку в where clause
where PossibleNullField is not null

Оставить комментарий
maximovega
Вызываю в C# процедуру на SQL-сервере и сталкиваюсь с проблемой.Что означает предупреждение String or binary data would be truncated?