|
0 / 0 / 0
Регистрация: 09.04.2023
Сообщений: 39
|
|
ComboBox и БД22.05.2023, 13:36. Показов 1409. Ответов 6
Метки нет (Все метки)
Добрый день! Посоветуйте ка правильно организовать работу ComboBox с БД.
У меня есть БД в которой есть несколько таблиц type(содержит типы устройство: системный блок, монитор, ибп....), model(конфигурация и модели устройство для каждого типа: монитор-samsung20..; системный блок HP 490 i5/... ), device (тип-модель -серийный номер: монитор-samsung20-1234543435). Каждая таблице имеет индексы-первичный ключ, внешний ключ и на самом деле таблицы содержат значения индексов а не типы и модели устройств, например таблица type ************************************** *id(pk)* tipe * ************************************** * 1 * ибп * 2 * монитор * 3 * сист.бл. таблица model ************************************** *id(pk)* id_type(fk)*model ************************************** * 1 * 1 * APC 1100 * 2 * 1 * APC 1000 * 3 * 2 * samsung20 * 4 * 2 * Benq21 * 5 * 3 * HP 490 таблица device ************************************** *id(pk)* id_type(fk)*id_model(fk)* sn ************************************** * 1 * 1 * 1 * 123123123 * 2 * 1 * 1 * 234234234 * 3 * 1 * 2 * 456456456 * 4 * 2 * 3 * 444123123 * 5 * 2 * 3 * 555234234 * 6 * 2 * 4 * 666656456 * 7 * 3 * 6 * 777898989 * * есть представления model ************************************** *id(pk)* tipe * model ************************************** * 1 * ибп * APC 1100 * 2 * ибп * APC 1100 * 3 * ибп * APC 1000 * 4 * монитор * samsung20 * 5 * монитор * samsung20 * 6 * монитор * Benq21 device ************************************** *id(pk)* tipe * model * sn ************************************** * 1 * ибп * APC 1100 * 123123123 * 2 * ибп * APC 1100 * 234234234 * 3 * ибп * APC 1000 * 456456456 * 4 * монитор * samsung20 * 444123123 * 5 * монитор * samsung20 * 555234234 * 6 * монитор * Benq21 * 666656456 * 7 * Сист.бл. * HP 490 * 777898989 * Дальше, делаю форму с двумя ComboBox'ами type, model и список List - SN(серийный номер) в type соответственно гружу из БД по запросу типы устройств (ИБП,монитор,сист.бл.) при выборе типа в список model по запросу к БД грузится соответствующие модели типа, при выборе модели в список List гружу серийные номера. Вопрос. Когда я выбираю тип устройства из списка (например ИБП) я не знаю его ID что бы по нему найти соответствующие модели. Можно конечно написать запрос и вытащить этот ID и по нему уже искать, можно сделать запрос к таблице представления model и выбрать все соответствующие модели, а потом аналогично и со списком серийных номеров. Вообще с чем работать с таблицами или представлениями? Еще вариант, можно в combobox загрузить модель которая будет описывать объект в котором будет храниться ID и type. Как правильно?
0
|
|
| 22.05.2023, 13:36 | |
|
Ответы с готовыми решениями:
6
Как связать два ComboBox так, чтобы при заполнении одного ComboBox он соответствовал со значением другого ComboBox [WPF] Можно ли передать данные из ListBox или ComboBox в аналогичный ComboBox? Не получается передать список элементов combobox одной формы в combobox другой |
|
Заблокирован
|
|
| 22.05.2023, 15:44 | |
|
Можно работать с представлениями, можно работать напрямую с запросами.
Например, для комбобокса model нужны id и название модели Следующий запрос для type - выбираете id type и название типа с фильтром по id модели Девайс - уже лучше выводить в таблицу. в запросе выводите id для удобства, но в таблицу не выводите. id храните в теге или в столбце ширины 0 или с атрибутах ячеек таблицы. id Нужен для обновления таблицы.
0
|
|
|
0 / 0 / 0
Регистрация: 09.04.2023
Сообщений: 39
|
||||||
| 23.05.2023, 16:22 [ТС] | ||||||
|
В итоге сделал так:
создал класс с полем IDtype и полем type в модели для combobox вытаскиваю из баз эти значения и добавляю type в список для отображения, дальше создаю объект и кидаю в коллекцию. добавляю обработчик события для комбобокса при выделении нового элемента списка и коллекции даюс значение поля IDtype объекта. Вот код
0
|
||||||
|
Заблокирован
|
|||
| 23.05.2023, 16:42 | |||
|
0
|
|||
|
0 / 0 / 0
Регистрация: 09.04.2023
Сообщений: 39
|
|
| 23.05.2023, 17:10 [ТС] | |
|
не совсем понял вас... имеете ввиду что можно было бы обойтись без DataSource? скажем считывать из RS значения полей и добавлять их в созданный объект, а объект в векторный массив, массив в свою очередь в комбо? так?
0
|
|
|
Заблокирован
|
||||||
| 23.05.2023, 17:16 | ||||||
|
Извините, возможно неясно выразился.
Нужен или DataSource или добавлять ComboBoxItem по одному элементу. Пример - со stackoverflow.com
0
|
||||||
|
0 / 0 / 0
Регистрация: 09.04.2023
Сообщений: 39
|
|
| 23.05.2023, 19:46 [ТС] | |
|
Да... именно это я и искал... попробовал ваш вариант, работает!!!! СПАСИБО!!!
0
|
|
| 23.05.2023, 19:46 | |
|
Помогаю со студенческими работами здесь
7
Combobox в окне с другим фоном. Как убрать белые углы combobox? Как при выборе значения в combobox изменить значение другого combobox Содержимое второго ComboBox-а должно зависеть от выбранного элемента в первом ComboBox-е Исключение из ComboBox'а значений выбранных в других ComboBox'ов используя Binding Значение ComboBox из таблицы MS SQL, отфильтрованной значением другого ComboBox Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Old Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|