Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

БД + дерево [D7]


db_noob ©   (2006-07-19 21:16:00) 

Есть некое дерево (уровней порядка 3-4, но это не особо важно), которое желательно хранить в БД и при загрузке ПО подгружать в TreeView-компонент.

Прошу совета: Как лучше хранить дерево? Как лучше его грузить? Какой TreeView лучше при этом использовать?

Гланый критерий оценки: скорость работы сей конструкции.

з.ы. на данный момент решил хранить в след. виде (таблица)
| Имя ветки | ID | ParentID |

Самый простой вариант )


ORMADA   (2006-07-20 12:05:00) [1]

а мне DbTreeFilter http://www.miross.ru/dbt/нравиться
нормальная быстрая им простая вещь.. думаю аналогичная той что Ega23 написал или TVirtualDBTree


Reindeer Moss Eater   (2006-07-20 12:02:00) [2]

"Все уже украдено до нас"

TVirtualDBTree


SergP.   (2006-07-20 11:48:00) [3]

> Какой TreeView лучше при этом использовать?


Можно обычный использовать.
Только не создавать там сразу все дерево, а досоздавать узлы по мере необходимости...

Т.е. создаешь узлы верхнего уровня, и у каждого такого узла создаешь по одному "левому" дочернему узлу, а в OnExpanding проверяешь наличие этих "левых" узлов. Удаляешь их и создаешь нужные узлы.


Desdechado   (2006-07-20 11:38:00) [4]

Замыкание дерева на одну таблицу - самый популярный путь. Но есть и другие пути. Встречал статьи по этому поводу. Думаю, стоит поискать в инете по словам.
Способ лучше выбирать, исходя из задач, а не из "что знаю" или "что чаще используют другие".


Ega23   (2006-07-20 10:05:00) [5]

ID, int, primary key
ParID, int, null,  foreign key on (ID)
aName varchar(сколько_надо)
........

Компонент... Я свой писал. TDBTreeView.


PSPF2003   (2006-07-20 08:01:00) [6]

Есть на Delphi World примерчик.
В книге Фленова D2005.

Ищи в поискавиках "Древовидные структуры в базах данных "


PSPF2003   (2006-07-20 07:59:00) [7]

Есть на Delphi World примерчик.
В книге Фленова D2005.

Ищи в поискавиках "Древовидные структуры в базах данных "


palva   (2006-07-19 21:47:00) [8]

Еще надо поле индекса добавить, чтобы сохранить порядок узлов. Конечно, это будет не тот индекс, который в TreeView, а тот по которому ORDER BY


Наверх

Титульная страница Поиск, карта сайта Написать письмо