c # Связывание ComboBoxList с базой данных SqlCe - PullRequest
1 голос
/ 01 июня 2011

Это скорее вопрос понимания / уточнения, чем технический.В настоящее время я пытаюсь связать некоторые данные из базы данных с ComboBoxList.

База данных имеет тип SqlCe.Это называется voodoobase.sdf.Он указан в Обозревателе серверов вместе со всеми его таблицами.

Q1 ) Какова правильная процедура для привязки раскрывающегося списка ComboBoxList к данным в базе данных?

DoВы должны пройти через Источники данных?

Что такое контейнер модели?

Я привык к PHP / MySQL, где вы просто подключаетесь и делаете все сами.Если у вас есть хорошие четкие ссылки или вы можете ответить на них понятным для человека способом, я был бы признателен.

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

Q2 ) База данных была разработана и поставляется в обозревателе решений как DBModel.edmx.Если я внесу здесь изменения и «Создать базу данных из модели», кажется, что база данных будет обновлена ​​(что хорошо), но источники данных не обновятся вместе с ней?<- это правильная особенность? </p>

Я знаю, что это многословный вопрос, но если вы сможете немного прояснить это, я буду счастлив =))

1 Ответ

1 голос
/ 17 мая 2012

Q1
Это довольно окольный путь, может быть, но вот как я делаю это для выпадающего списка:

  1. Создать набор данных для базы данных (когда я добавил свою базу данных sqlce, я решил добавить набор данных во время мастера, который автоматически появился)

  2. Откройте свой набор данных, дважды щелкнув по нему

  3. В «обозревателе серверов» создайте таблицы и отредактируйте данные по мере необходимости, затем перетащите таблицы в конструктор набора данных

  4. Откройте представление дизайна формы Windows и из своего «Источника данных» (в котором должен быть ваш набор данных) перетащите в форму некоторые поля, которые вы хотите отобразить для этой таблицы (например, имя, фамилия, возраст, пол и т. д.). Затем Visual Studio автоматически добавит следующие объекты (видимые в нижней части представления конструктора): набор данных, источник привязки, адаптер таблицы и менеджер адаптера таблицы.

  5. Теперь добавьте свой Combobox, который вы хотите привязать к этой таблице (например, "cboName")

  6. В выделении кода в событии Form_Load свяжите его следующим образом: cboName.DataSource = myTableBindingSource; cboName.DisplayMember = "Имя"; // будет привязан к столбцу «Имя»

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

2:
Я не уверен насчет моделей баз данных edmx. Моя база данных - это файл sdf, мой набор данных - это файл xsd, и я редактирую свою базу данных через обозреватель сервера.

... Однако ОЧЕНЬ важно знать, что ваша «разработанная» база данных - это не база данных, используемая вашим приложением во время выполнения. Проверьте папку bin - там вы найдете базу данных, с которой работает ваше приложение. (С помощью SQLCE база данных в дизайне отделена от используемой БД, и вы должны вручную обновить (перезаписать и вставить) вашу БД в папку bin после изменений, внесенных в ваш дизайн или данные).

Обратите внимание, что ваши «источники данных» подобны карте вашей базы данных. Вам придется обновить (перетащить таблицу снова) ... или заново создать и т. Д. Источник данных (например, ваш набор данных), если изменения в вашей базе данных не отразятся на этом.

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