Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.06;
Скачать: CL | DM;

Вниз

БД + дерево   Найти похожие ветки 

 
db_noob   (2006-07-19 21:16) [0]

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

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

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

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

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


 
palva ©   (2006-07-19 21:47) [1]

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


 
PSPF2003 ©   (2006-07-20 07:59) [2]

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

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


 
PSPF2003 ©   (2006-07-20 08:01) [3]

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

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


 
Ega23 ©   (2006-07-20 10:05) [4]

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

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


 
Desdechado ©   (2006-07-20 11:38) [5]

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


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

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


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

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


 
Reindeer Moss Eater ©   (2006-07-20 12:02) [7]

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

TVirtualDBTree


 
ORMADA ©   (2006-07-20 12:05) [8]

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



Страницы: 1 вся ветка

Текущий архив: 2006.08.06;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.058 c
15-1152193319
Альф
2006-07-06 17:41
2006.08.06
Как создать dll с именем основного exe ?


15-1152641797
tesseract
2006-07-11 22:16
2006.08.06
Футболка - сбор данных


2-1153305041
VitGun
2006-07-19 14:30
2006.08.06
Shell Extension. Как?


15-1152306828
ronyn
2006-07-08 01:13
2006.08.06
загрузчик не грузит


2-1153395744
MOUSE911
2006-07-20 15:42
2006.08.06
Таблицы БД