DataGridView перестает работать - PullRequest
2 голосов
/ 01 января 2012

Возможно (и надеюсь), что это очень простой вопрос, но я так и не смог найти на него ответ.

Я работаю над приложением Windows Forms. Я создал базу данных, содержащую три таблицы. В режиме конструктора я вставил сетку данных, выбрал таблицу, которую хотел отобразить, и при запуске приложения все сохраненные данные отображаются в сетке, как я хочу.

Моя проблема заключается в том, что всякий раз, когда я касаюсь набора данных или базы данных, соединение с сеткой данных перестает работать, оно не загружает никаких данных. Даже что-то простое, например двойной щелчок по data.sdf в обозревателе решений, приводит к потере соединения, а сетка данных становится пустой.

И когда соединение разорвано, я никогда не смогу вернуть его в тот же проект, поэтому мне нужно вернуться к старой «незараженной» версии, которую я сохранил.

Я не могу найти ничего, что было изменено в коде, когда я сравниваю мою старую рабочую версию и не работающую. Я прочитал код DataSet, xsd-файл, проверил настройки сетки данных, но ничего. Это выглядит точно так же, как я вижу.

Это не было бы такой большой проблемой, если бы не было того, что я хотел бы отредактировать одну из таблиц (не ту, что связана с сеткой) и добавить nvarchar, который я забыл. Но если я что-то изменю, связь будет потеряна.

Мой вопрос для этого; какая именно часть соединения с сеткой данных прерывается всякий раз, когда я что-то изменяю в базе данных? И как мне это исправить?

Краткое резюме

У меня есть база данных. Я добавил обзор данных с помощью перетаскивания, и он отображает содержимое из таблицы. Работает отлично.

Но соединение перестает работать, и сетка становится пустой всякий раз, когда я:

  1. Дважды щелкните файл базы данных в проводнике, чтобы отобразить его содержимое
  2. Удаление / добавление / редактирование любой таблицы в базе данных
  3. Запустите мастер DataSet Wizard, чтобы включить / исключить таблицы
  4. Нажмите «Обновить» в базе данных, ее таблицах или наборе данных

Что ломается при этом и как мне это исправить?

1 Ответ

0 голосов
/ 02 января 2012

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

Я действительно не помню, как я пришел к такому выводу, но, наконец, я понял, что единственной возможной причиной было то, что отладочная версия базы данных и фактическая версия проекта не были "синхронизированы". Не спрашивайте меня, почему или как, но после того, как я удалил оба файла и заменил их одним файлом, все проблемы исчезли. Я могу изменить таблицы, и он никогда не потеряет связь.

Из того, что я понимаю, это должно быть какая-то ошибка в Вегасе. Выполнение чистых перестроек ничего не сделало, но после удаления и замены файлов вручную оно снова заработало.

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