|
0 / 0 / 0
Регистрация: 22.10.2018
Сообщений: 160
|
|||||||||||||||||||||
DataRelation08.08.2021, 09:05. Показов 6238. Ответов 37
Метки нет (Все метки)
При выполнении кода выскакивает ошибка System.Data.InvalidConstraintException: "Среди родительских столбцов и дочерних столбцов отсутствуют столбцы совпадающих типов."
Таблицы:
0
|
|||||||||||||||||||||
| 08.08.2021, 09:05 | |
|
Ответы с готовыми решениями:
37
datagridview и datarelation Объект DataRelation, ссылающийся на себя Добавление строк в таблицу с использованием DataRelation |
|
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
|
|
| 08.08.2021, 11:45 | |
|
Вам же уже говорилось, что решение - таблица-дерево, в которой два основных поля: собственный Id и Id родителя. Позволяет реализовать любое количество уровней.
0
|
|
|
0 / 0 / 0
Регистрация: 22.10.2018
Сообщений: 160
|
|
| 08.08.2021, 11:51 [ТС] | |
|
Ну и как мне его сделать, блин, как мне создать цикл foreah из той таблицы которую вы мне написали? во всех примерах которые я нашел только два уровня parent и child а как мне прикрутить третью и четвертую хрен где найдешь....
0
|
|
|
|
||
| 09.08.2021, 08:30 | ||
|
Если надо всё к первой привязать - то в каждой подчиненной таблице должен быть внешний ключ на первую, если надо последовательно - то связываются как первые две, только третья ко второй, четвертая к третьей и т.д. А зачем вам это всё? Можно просто наделать запросы для подчиненных таблиц где условием будет внешний ключ на главную таблицу. В первый грид привязываете первую таблицу, во второй вторую - на ней запрос с условием на ключ первой и т.д.
0
|
||
|
0 / 0 / 0
Регистрация: 22.10.2018
Сообщений: 160
|
|
| 09.08.2021, 08:35 [ТС] | |
|
Я пытаюсь создать дерево из связанных таблиц, но ни как не могу, толь начинаю осваивать C# везде примеры только из двух таблиц, а мне нужно их четырех
0
|
|
|
|
||
| 09.08.2021, 09:58 | ||
NOT NULL.Для C# тип int и int? разные вещи. Генератор кода, если я помню правильно, INT NOT NULL преобразует в int, а INT NULL в int?.
0
|
||
|
0 / 0 / 0
Регистрация: 22.10.2018
Сообщений: 160
|
|
| 09.08.2021, 10:02 [ТС] | |
|
так они и есть NOT NULL
0
|
|
|
|
|||||||
| 09.08.2021, 10:23 | |||||||
0
|
|||||||
|
0 / 0 / 0
Регистрация: 22.10.2018
Сообщений: 160
|
|
| 09.08.2021, 10:25 [ТС] | |
|
а, запарился уже, в этом дело?
0
|
|
|
|
||
| 09.08.2021, 10:30 | ||
|
А вообще, если в БД были организованы связи, то мастер создания DataSet должен был сам их сделать в коде.
0
|
||
|
0 / 0 / 0
Регистрация: 22.10.2018
Сообщений: 160
|
|
| 09.08.2021, 10:37 [ТС] | |
|
спасибо
0
|
|
|
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
|
||||||||||||||||||||||
| 09.08.2021, 11:33 | ||||||||||||||||||||||
Сообщение было отмечено aksident как решение
РешениеПример такой таблицы:
Для выборки данных две техники: 1. Выборка дочек
Пример:
1
|
||||||||||||||||||||||
|
0 / 0 / 0
Регистрация: 22.10.2018
Сообщений: 160
|
||||||
| 09.08.2021, 11:39 [ТС] | ||||||
|
О, наконец то! Спасибо огрмадное за помощь! А не подскажите как мне собрать такую табличку из моих таблиц?
Добавлено через 4 минуты по предыдущему вашему совету создал такую
0
|
||||||
|
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
|
|
| 09.08.2021, 11:43 | |
|
В приложении запускается запрос и сканируется полученный НД и в TreeView добавляются узлы:
- Если вариант 1 (подкачка дочек узла), то для каждой записи добавляете узел-дочку в раскрываемый узел-папу. - Если вариант 2 (подкачка всего узла со всеми потомками), то сначала проверяете уровень и, если он изменился, то дочка добавляется к предыдущему добавленному узлу (внучка), иначе - как в случае 1 добавляем сестричку. Естественно, набор данных должен быть правильно отсортирован.
0
|
|
|
0 / 0 / 0
Регистрация: 22.10.2018
Сообщений: 160
|
|
| 09.08.2021, 11:47 [ТС] | |
|
В том то и дело что нигде не могу найти пример как реализовать добавление третьего уровня к дереву, везде только два.
0
|
|
|
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
|
|
| 09.08.2021, 11:48 | |
|
aksident, Понятия "макро", "супер" и т.д. лишние. Все определяется уровнем. Т.е. в Вашем случае "супер" - это уровень 0, "макро" - уровень 1, "объект" - уровень 2.
Если появятся более низкие уровни ("субобъект", "миниобъект", "микрообъект" и т.д.), то они просто добавятся в соответствующие родительские узлы с уровнем 3,4,5... В TreeView все это будет выглядеть как иерархия. Очень похоже на папки диска в обозревателе папок Windows
0
|
|
|
0 / 0 / 0
Регистрация: 22.10.2018
Сообщений: 160
|
|
| 09.08.2021, 11:53 [ТС] | |
|
А пример кода можно какойнибудь? я только начинаю постигать C#, и SQL а постигать легче на примерах.
0
|
|
|
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
|
||||||||||||
| 09.08.2021, 11:54 | ||||||||||||
0
|
||||||||||||
|
0 / 0 / 0
Регистрация: 22.10.2018
Сообщений: 160
|
|
| 09.08.2021, 11:56 [ТС] | |
|
Как добавить строки и значения я знаю
0
|
|
|
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
|
|
| 09.08.2021, 12:00 | |
|
aksident, Все зависит от того, что Вы собираетесь делать с деревом в приложении.
Если отображать, то опять-таки зависит от типа приложения. Смею предположить, что у Вас winforms, поэтому используется стандартный элемент TreeView. Как с ним работать - почитайте в инете - примеров масса. Для добавления/редактирования советую использовать модальную форму. Текущий узел TreeView при добавлении будет "папой". Все как обозревателе Windows
0
|
|
| 09.08.2021, 12:00 | |
|
Помогаю со студенческими работами здесь
20
DataAdapter методом Fill выгружает в DataSet DataRelation? VB. NET - Зависимые ComboBox + БД / DataRelation DataRelation для трех таблиц Как привязать данные используя DataRelation Как привязать данные используя DataRelation Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|