ConstraintException при заполнении DataGridView из представления SQL Server - PullRequest
0 голосов
/ 13 сентября 2010

У меня есть представление SQL Server, которое выполняет простое объединение двух таблиц и возвращает некоторые столбцы.Запуск этого представления в Management Studio не вызывает никаких проблем, ожидаемые данные (две строки) возвращаются.

Когда я использую это представление в качестве источника данных для моего TableAdapter в Visual Studio, я получаю исключение ConstraintException, говорящее «Failedчтобы включить ограничения. Одна или несколько строк содержат значения, нарушающие ненулевые, уникальные или ограничения внешнего ключа. ".

Я использовал EnforceConstraints = false перед вызовом tableAdapter.Fill (dataSet.vwMyView), поэтому я мог получить больше информации о причине этой проблемы.Я закончил с сообщением, что столбец «MyColumn» имеет ограничение, что он должен быть уникальным, но значение 4 (идентификатор) уже существует (да, есть две строки с этим идентификатором).

Я понимаю, что этот конкретный код (и первичный ключ) уникален в одной из двух таблиц, к которым я присоединяюсь, однако я не понимаю, почему это должно вызвать ошибку в моем DataGridView, потому что

  • Я только хочу отобразить данные
  • Я не получаю никаких ошибок при выполнении того же выбора в том же представлении в Management Studio

Почему это так?Мне нужно отобразить значение id, и я также не понимаю, почему я на самом деле получаю эту ошибку.

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

С уважением

Gorgsenegger

1 Ответ

0 голосов
/ 15 сентября 2010

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

Я бы посоветовал вам выполнить одно из следующих действий:

1)Если вы хотите отобразить только эту информацию, не беспокойтесь о повторном включении ограничения.Это может звучать как выход, но на самом деле, если вам не нужна информация, нет смысла ее иметь.

2) Еще лучше, просто удалите ключ, который «неправильно» сгенерирован в наборе данныхдизайнер.Это будет означать, что вам не нужно вообще отключать ограничения таблиц!

Надеюсь, это поможет.

J Dubs.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...