Какие изменения я должен сделать, после изменения столбцов в базе данных SQL? - PullRequest
1 голос
/ 07 апреля 2011

HII

это первый раз, когда я использую базу данных в C #. Я пытаюсь добавить базу данных в Visual Studio C # ,, читать данные и сохранять данные в базе данных.

поэтому я создал базу данных и таблицу внутри нее под названием «Пользователи». Затем я подключаю формы Windows к базе данных.

после этого он работал нормально при извлечении данных (запрос: все пользователи), но после того, как я отредактировал тип столбца от dateTime до int, это дает мне исключение "Исключение ограничений было обработано в следующей строке

this.usersTableAdapter.Fill(this.smartHomeDataSet.Users);

и форма больше не грузится. !!

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

Это может быть что-то простое и очевидное, но простите меня, я впервые в базе данных.

спасибо за вашу помощь, Все.

редактировать:

что я сделал, это редактирование столбца (дата рождения) в определении таблицы

это было: dateTime - не разрешатьNull

изменено на: int - allowNull

Ответы [ 3 ]

2 голосов
/ 07 апреля 2011

Вам не нужно регенерировать набор данных.Следуйте инструкциям по обновлению набора данных.

1.) Перейти к типизированному конструктору DataSet.Щелкните правой кнопкой мыши заголовок TableAdapter и выберите параметр «Настроить».Это запустит мастер настройки адаптера таблицы.

2.) Обычно завершите работу мастера и обновите поля в шаге конструктора запросов.Здесь он добавит новые столбцы и удалит столбцы, не найденные в наборе результатов запроса.

3.) После завершения работы мастера вы быстро заметите, что новые поля были добавлены в соответствующийТаблица данных.Это также обеспечит обновление результирующего набора всех методов TableAdapter, и вам не нужно будет менять каждый метод в отдельности.мы делали это много раз, и это всегда работает без сбоев.

4.) Единственное, что вам нужно сделать вручную, это удалить столбцы из DataTable, если вы удалили поле из запроса.Мастер обновит и добавит столбцы, но не удалит столбцы из таблицы данных.Проще говоря, просто удалите столбец из таблицы данных.

Готово.

0 голосов
/ 07 апреля 2011

Ну, я думаю, вы уже изменили тип данных столбца в наборе данных.

Но исключение может быть связано с получением значений null в столбце данных, для которого AllowNull имеет значение false.Вы изменили свойство nullable столбца в db?Если это так, измените AllowNull тоже.

0 голосов
/ 07 апреля 2011

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

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