|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.05.2010, 19:38 | #1 |
Регистрация: 06.05.2010
Сообщений: 8
|
Иерархическая структура таблицы базы mdb
Доброго времени суток всем.
В процессе написания программы для работы с базой данных возникла такая проблема. Имеется таблица со следующими полями и данными: ID ParentID Name 1 0 Мониторы 2 1 Samsug 3 0 Процессоры 4 3 Athlon 100 mhz 5 0 Сетевые платы 6 5 Ethernet xxxx 7 5 Etherne 1xxx1 В программе эта таблица представлена в виде дерева - иерархии типа так: -Компьютер - Мониторы - Samsung - Процессоры - Athlon 100 mhz - Сетевые платы - Ethernet xxxx - Ethernet 1xxx1 ----------------------- Необходимо сделать таблицу такого вида N Тип устройства Модель устройства 1 Мониторы Samsung 2 Процессоры Athlon 100 mhz 3 Сетевые платы Ethernet xxxx Ethernet 1xxx1 4 ... ... Вот и не пойму как можно сформировать такой список из той таблицы. Думаю нужно сравнивать ParentID с ID и подставлять значение Name в нужную строку и в нужную колонку. т.е. если ParentID = 5 то значение Name нужно поставить напротив значения у которого ID = 5. но вот как это реализовать в коде программы даже не представлю... Все работы с базой данных mdb произвожу с использованием ADO. Может кто знает или сталкивался с таким вопросом подскажите как это можно реализовать. может есть примерные исходники для решения этой задачи.. Буду очень признателен. а то сроки горят... Заранее благодарен. |
07.05.2010, 10:29 | #2 |
Форумчанин
Регистрация: 05.02.2009
Сообщений: 324
|
это первый запрос, назовём zp1
Код:
Код:
Тяжело быть бестолковым.....
|
07.05.2010, 11:40 | #3 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
Странная структура БД для данной задачи. Зачем тут вообще дерево делать? Я бы сделал 2 таблицы:
1) Тип устройства (ИД, Наименование) 2) Устройство (ИД, Тип, Наименование) Запрос в данном случае будет что-то вроде: Код:
Если нужна будет возможность более глубокой иерархии типа: Код:
В общем, если возможно, лучше перепроектировать БД нормально под предметную область, т.к. сейчас данный момент реализован нехорошо. |
07.05.2010, 12:39 | #4 | |
Регистрация: 06.05.2010
Сообщений: 8
|
Цитата:
чего делать |
|
07.05.2010, 12:50 | #5 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
Так пойдёт?
Код:
|
07.05.2010, 14:57 | #6 |
Регистрация: 06.05.2010
Сообщений: 8
|
пойдёт. а куда данные записываются? и как их отобразить в dbGrid
Наверное тупой вопрос, просто я впервые работаю с базами данных Последний раз редактировалось Wikly; 07.05.2010 в 15:11. |
07.05.2010, 15:15 | #7 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
Никуда они не записываются. Это простой запрос на выборку. Кидаем в делфях на форму ADOQuery (или какой уж там компонент для этого предназначен), прописываем в CommandText этот запрос и привязываем к DBGrid'y. Инфы в сети навалом. Срисуйте какую-нибудь книжку с торрента по делфям и смотрите там примеры.
|
07.05.2010, 22:55 | #8 | |
Регистрация: 06.05.2010
Сообщений: 8
|
Цитата:
А то я пол инета обшарил нашел только такой способ: Код:
Я и сам думаю что можно сделать интереснее. но вот как это сделать не представлю.. Может имеются подобные исходники??? Последний раз редактировалось Wikly; 07.05.2010 в 23:02. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Древовидная структура таблицы в гриде | AK BULLETS | Общие вопросы Delphi | 3 | 21.03.2010 02:51 |
Структура Базы Данных | jeka5555 | PHP | 12 | 30.03.2009 07:46 |
Структура таблицы | Proof | БД в Delphi | 8 | 29.12.2008 20:24 |
структура таблицы базы данных с именем WORKER | Vollmond36 | Помощь студентам | 1 | 01.12.2008 22:20 |