2013-03-11 3 views
1

Я использую типизированный набор данных в asp.net 4.5, но когда я заполняю datatable с помощью tableadapter и dataset, я получаю принудительную ошибку ограничения.Typed Dataset-Enforce Contraint

«Не удалось включить ограничения. Одна или несколько строк содержат значения, нарушающие непустые, уникальные или внешние ключи». В наборе данных есть только одна строка, все еще я получаю эту ошибку. В настоящее время я использую

Dataset.EnforceConstraints = false; 

, но я не хочу использовать это. поэтому, пожалуйста, дайте мне решение для этого.

Заранее спасибо.

ответ

2

Эта ошибка произошла из-за ограничений в таблице. Если вы используете отношения в таблице, это произойдет. т. е. в вашей таблице есть член с четырьмя ключами, вы не можете добавлять в дочернюю таблицу без записи в главной таблице. enter image description here

на изображении там было показано отношение. на таблице2 столбец является четырехзначным ключом таблицы1. Поэтому, если вы попытаетесь вставить значение в таблицу2 без записи в таблицу с тем же sl_no, эта ошибка будет показана.

+0

+1 для диаграммы. Кроме того, проблема может быть нулевым значением, поступающим от адаптера, либо потому, что столбец не был включен в выборку, либо возвращает значение null, когда определение столбца DataSet имеет ограничение, что оно не может быть нулевым. – Snixtor

0

внимательно ознакомьтесь с TDS. я уверен, что ваш TDS содержит несколько полей P.key, которые не совпадают с датами вашего ретрансляции. поэтому, пожалуйста, удалите один или несколько из P.Key из вашего TDS, щелкнув правой кнопкой мыши по полю. и повторите тест. Надеюсь, что это вам поможет.

0

Прежде всего за вашу помощь. Я получил решение. На этом составном ключе я удалил основное ограничение и преобразовал его в уникальное ограничение, потому что был один столбец с нулевым значением. И была одна проблема. Максимальная длина одного столбца была меньше. Я публикую это, потому что это может быть полезно для кого-то еще в будущем.

Спасибо.

+1

знак pls как ответ если ответ помог u .. –