![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Построить дерево [D4, D5, D6, D7, Paradox]
Dimich1978 © (2004-06-16 17:03:00)Задача: Построить дерево (неважно каких) объектов вложенных друх в друг друга. Объекты задаются таблицей базы данных, которая грубо говоря имеет след. Поля:
ID
Инфо – поля
ID
Записи(объекта) –владельца
Реализация:
Рекурсивная функция, которой параметром передается ID объекта-владельца. В функции динамически создается объект TQUERY и в нем выполняется SQL запрос, по отбору объектов, подчиненных объекту-владельцу (параметр). Т.е TQUERY создается (запрос выполняется) столько раз, сколько объектов в системе ( а их много).
Ошибка: Дерево строится нормально, 1,2,3 … раз. Но на i+1 разе при выполнении SQL запроса выдается исключение:
Invalid parameter или capability not supported.
YurikGL (2004-06-16 17:11:00) [1]
> Dimich1978 © (16.06.04 17:03)
Делал подобные вещи через рекурсию. Просто использовал глобальную временную таблицу, в которую из рекуретной функции скидывал все что надо. Кстати, у меня было не дерево, а сеть.
Vlad (2004-06-16 17:08:00) [2]
> Dimich1978 © (16.06.04 17:03)
> Ошибка: Дерево строится нормально, 1,2,3 … раз. Но на i+1
> разе при выполнении SQL запроса выдается исключение
Неплохо бы понять, что такое i и каковы должны быть границы цикла (если это цикл), то есть непонятно каким местом ты используешь i +1?
Sandman25 (2004-06-16 17:05:00) [3]Обычно загружают только те элементы, которые нужны, а не все сразу. Тогда таких проблем не бывает.