![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
рекурсия в цикле по строкам ADOQuery [D7, MSSQL]
Nein © (2006-05-29 15:30:00)добрый день!
подскажите пожалуйста, может, кто сталкивался с необходимостью строить дерево по БД.
Я хочу считывать в цикле итемы одного уровня, а по ходу вызывать рекурсию, вставляющую итемы нижних уровней. Можно ли при этом в процедуре рекурсии использовать один и тот же ADOQuery, или будет косяк?
Ega23 (2006-06-05 15:33:00) [1]
> не нашла shellexecute :-(
Набери в редакторе код ShellExecute и нажми F1
Nein (2006-06-05 15:30:00) [2]не нашла shellexecute :-(
может, его в 7-й версии отменили - помнится, это вызывало стороннюю программу и ждало ответа?
ЮЮ (2006-05-31 08:53:00) [3]См. ShellExecute
Nein (2006-05-31 08:31:00) [4]сделала процедуру, которая по заданному parent_id возвращает дочек, повесила ее на onExpanding - вроде работает даже.
Теперь у меня другая проблема - как по клику по итему запустить приложение, открывающее файл с заданным именем в конкретной папке. Это может быть word, excel или paint.
Пока пробую через компоненту WordApplication. Нашла еще в хелпе компонент tfilerun, но не знаю, как им пользоваться.
antoxa2005 (2006-05-30 15:39:00) [5]
> напиши запрос а-ля id , parent_id
А КАК???
ORMADA (2006-05-30 09:06:00) [6]напиши запрос а-ля id , parent_id а потом можно к примеру чтобы не строить самому заюзать любое бд дерево
в том же джеди есть или на http://www.miross.ru/dbt/
sniknik (2006-05-30 08:15:00) [7]и так, и по другому, вариантов вообще всегда много.
можно например сделать всего один запрос, выбрать все и дальше на клиенте переносить с него данные в дерево... тоже можно, и тоже как напишеш. только так будет возможно быстрее чем с сотнями запросов по каждой ветке. только не забыть индекс рабочему полю уже на клиенте сделать.
Nein (2006-05-30 06:44:00) [8]дошло. Можно же не использовать тот ADOQuery, который на форме, а взять и создать свой внутри процедуры. Так же будет работать?
ANB (2006-05-29 16:25:00) [9]Можно и без рекурсии обойтись. Но код будет длиннее.
sniknik (2006-05-29 15:45:00) [10]все от тебя зависит, как напишеш.
и судя по вопросу, что вообще возник, будет косяк... ;о))