![]() |
|
![]() ![]() ![]() |
|
Pavelbej |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 419 Регистрация: 5.7.2005 Репутация: нет Всего: 6 |
Всем привет!
Нужна возможность удаления всех необходимых данных из таблицы (папки и закладки). В процедуре определяестя кто в кого вложен и удаляется. Но почему-то не удаляются все закладки родительской (самой верхней) папки. Чтобы их удалить нужно несколько раз вызвать процедуру. Такое ощущение что поиск нужных данных не доходит до конца и поэтому и не удаляются. Помогите разобратся:
Это сообщение отредактировал(а) Pavelbej - 23.8.2008, 11:33 |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
Может я не прав в твоём случае, но удаление в цикле нужно проводить с конца в начало.
|
|||
|
||||
Pavelbej |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 419 Регистрация: 5.7.2005 Репутация: нет Всего: 6 |
||||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
Тебе нужно удалить родителя с детьми? Что за СУБД?
|
|||
|
||||
Pavelbej |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 419 Регистрация: 5.7.2005 Репутация: нет Всего: 6 |
||||
|
||||
Pavelbej |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 419 Регистрация: 5.7.2005 Репутация: нет Всего: 6 |
Подскажите, что там с удалением в цикле? Что за нюансы?
В приведенном мной коде, папки удаляются все, а вот ссылки никак. ![]() |
|||
|
||||
pseud |
|
||||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 16 Всего: 40 |
Pavelbej,
боюс, у тебя неправильный подход. как же ты делаешь и если у тебя открыта выборка куда отобраны и эти записи тоже. ИМХО тебе надо в таблице завести поле-флаг "к_удалению" пробегая в своем цикле - этот флаг выставлять. а потом делать что-то типа:
Добавлено через 2 минуты и 6 секунд хотя нет - даже не так а так )) пробегая по своей выборке - заполняй массив ID-шников записей. а по окончании пробега делай
-------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
||||
|
|||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
ограничение на in 1500 элементов
|
|||
|
||||
pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 16 Всего: 40 |
пока не натыкался, но если ето правда - подход немного иной )) Pavelbej,
-------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
Pavelbej |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 419 Регистрация: 5.7.2005 Репутация: нет Всего: 6 |
pseud, то есть изменить код примерно таким образом:
Не приходилось еще сталкиватся с масивами, да и с базами не все еще понятно. А что это такое?
|
||||||
|
|||||||
pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 16 Всего: 40 |
Дикари! Послушай, я тебя полюбил, я тебя научу. (с) «Кин-дза-дза»
отбросим пока массив и :P_ID (кстати это параметр) и напишем такой код:
он тебе удалит нужный узел со всеми его детьми -------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
Pavelbej |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 419 Регистрация: 5.7.2005 Репутация: нет Всего: 6 |
pseud, спасибо! То что нужно
![]() Как все просто оказалось, и даже понял как работает. Жаль что собственных мозгов не хватило самому додуматся. Еще раз благодарю. ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |