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

Вниз

рекурсия в цикле по строкам ADOQuery   Найти похожие ветки 

 
Nein ©   (2006-05-29 15:30) [0]

добрый день!
подскажите пожалуйста, может, кто сталкивался с необходимостью строить дерево по БД.
Я хочу считывать в цикле итемы одного уровня, а по ходу вызывать рекурсию, вставляющую итемы нижних уровней. Можно ли при этом в процедуре рекурсии использовать один и тот же ADOQuery, или будет косяк?


 
sniknik ©   (2006-05-29 15:45) [1]

все от тебя зависит, как напишеш.

и судя по вопросу, что вообще возник,  будет косяк...  ;о))


 
ANB ©   (2006-05-29 16:25) [2]

Можно и без рекурсии обойтись. Но код будет длиннее.


 
Nein ©   (2006-05-30 06:44) [3]

дошло. Можно же не использовать тот ADOQuery, который на форме, а взять и создать свой внутри процедуры. Так же будет работать?


 
sniknik ©   (2006-05-30 08:15) [4]

и так, и по другому, вариантов вообще всегда много.
можно например сделать всего один запрос, выбрать все и дальше на клиенте переносить с него данные в дерево... тоже можно, и тоже как напишеш. только так будет возможно быстрее чем с сотнями запросов по каждой ветке. только не забыть индекс рабочему полю уже на клиенте сделать.


 
ORMADA ©   (2006-05-30 09:06) [5]

напиши запрос а-ля id , parent_id а потом можно к примеру чтобы не строить самому заюзать любое бд дерево
в том же джеди есть или на http://www.miross.ru/dbt/


 
antoxa2005   (2006-05-30 15:39) [6]


> напиши запрос а-ля id , parent_id

А КАК???


 
Nein ©   (2006-05-31 08:31) [7]

сделала процедуру, которая по заданному parent_id возвращает дочек, повесила ее на onExpanding - вроде работает даже.
Теперь у меня другая проблема - как по клику по итему запустить приложение, открывающее файл с заданным именем в конкретной папке. Это может быть word, excel или paint.
Пока пробую через компоненту WordApplication. Нашла еще в хелпе компонент tfilerun, но не знаю, как им пользоваться.


 
ЮЮ ©   (2006-05-31 08:53) [8]

См. ShellExecute


 
Nein ©   (2006-06-05 15:30) [9]

не нашла shellexecute :-(
может, его в 7-й версии отменили - помнится, это вызывало стороннюю программу и ждало ответа?


 
Ega23 ©   (2006-06-05 15:33) [10]


> не нашла shellexecute :-(


Набери в редакторе код ShellExecute и нажми F1



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

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

Наверх




Память: 0.49 MB
Время: 0.039 c
15-1153220371
DevilDevil
2006-07-18 14:59
2006.08.13
Мои Pas модули не компилятся в Билдере


9-1131501075
Сабж.
2005-11-09 04:51
2006.08.13
Как найти художника для игры?


3-1149877246
RomanH
2006-06-09 22:20
2006.08.13
Очистить BLOB


15-1153122943
ChainikDenis
2006-07-17 11:55
2006.08.13
Программирование под линух...


2-1153753032
VitV
2006-07-24 18:57
2006.08.13
Форматирование текста в DBRichedit.