![]() |
|
|
![]()
|
|
| HyugaNeji |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 28.6.2008 Репутация: нет Всего: нет |
Привет.
Проблема вот в чем: Есть база данных, в ней таблица, в ней два поля - ID , PARENT_ID. По этим полям должно строиться дерево - ветвь ID должно присоеденяться к PARENT_ID Я написал код:
Сортировка по полю ID. Дерево строится нормально, пока не доходит до того места где ID меньше чем PARENT_ID, и выдаёт ошибку , так как неможет найти эту ветвь, т.е. она ещё не создана. Попробывал сортировку по полю PARENT_ID - такая же ерунда... Можно ли обойти эту проблему? Например перенсти запись в которой ID меньше чем PARENT_ID в конец таблицы, и обработать её потом. Или вообще какой-нибудь другой код? Надеюсь объяснил понятно. |
|||
|
||||
| andov |
|
|||
|
programmer Профиль Группа: Участник Сообщений: 7 Регистрация: 29.2.2008 Репутация: нет Всего: нет |
Где гарантия что записи в базе по ID будет идти вподряд.
Как ты можешь ссылаться в дереве по индексу Item["ParentID"] Я бы, для создания дерева, рекомендовал рекурсию. Дешаешь функцию, которая выполняет запрос к базе и создает всех детей для ParentID При этом Вызывает саму же себя со своим ID, создав тем самым своих детей, если они есть. |
|||
|
||||
| HyugaNeji |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 28.6.2008 Репутация: нет Всего: нет |
Спасибо большое за идею, попробую реализовать, надеюсь опыта и мозгов хватит )
|
|||
|
||||
![]()
|
| Правила форума "C++: Базы данных" | |
|
|
Данный форум предназначен для обсуждения вопросов прямым образом связанных с C++ и БД. Так, вопросы только по C++ следует задавать в C++:Общие вопросы а вопросы по абстрактным БД в Базах данных или в соответствующих под-форумах. Благодарим за понимание. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, chipset. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Базы данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |