Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Master->details [D6, IB6.x]


Tomkat ©   (2003-04-17 09:58:00) 

Хелп, мастера! есть задачка: главная и подчиненная таблица, связаны по ключевому полю, обновление связи происходит при IB.DataSet.AfterScroll главной таблицы. так вот, когда я удаляю запись из главной таблицы происходит перебор (Scroll) по всем записям с обновление связей в подчиненной, что сильно тормозит работу .... Кто-нибудь встречался с подобным ?


Tomkat   (2003-04-17 17:15:00) [1]


> и с триггерами...

но ведь и БЕЗ тригеров должно работать !!!!


Соловьев   (2003-04-17 16:33:00) [2]


> да там с генераторами грабли

нет никаих у меня траблов и с генераторами работаю и с триггерами...


Tomkat   (2003-04-17 16:30:00) [3]


> у меня инсерт работает в 3-м с IBX. вроде проблем не было

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


Соловьев   (2003-04-17 16:07:00) [4]

у меня инсерт работает в 3-м с IBX. вроде проблем не было.
версия FireBird - 6.2.2.908


Tomkat   (2003-04-17 16:02:00) [5]

фуууххх, вроде и задачка тривиальная - СДЕЛАЛ !
Всем сасиба !
ещеб Insert в SQL 3 побороть .......


Johnmen   (2003-04-17 15:51:00) [6]

Конечно с параметром !


Соловьев   (2003-04-17 15:50:00) [7]


> а запрос с параметром или все записи ?

Имя Параметра должно совпадать с именем поля главной.


Tomkat   (2003-04-17 15:47:00) [8]


> Убираешь AfterScroll и прописываешь свойство DataSource
> у детального(подчиненного) НД

а запрос с параметром или все записи ?


Johnmen   (2003-04-17 14:40:00) [9]

Убираешь AfterScroll и прописываешь свойство DataSource у детального(подчиненного) НД.


Tomkat   (2003-04-17 14:32:00) [10]


> Как осуществлена связь ?

в подчиненной таблице DET есть поле, к примеру ID_Main
и запрос к ней
SELECT DET.*
FROM DET
WHERE DET.ID_Main=:id_main
в событие AfterScroll главного IBDAtaset прописан код
DataSetDet.Close;
DataSetDet.ParamByName("id_main").AsInteger:=DataSetDetID.Value;
DataSetDet.Open;


Johnmen   (2003-04-17 11:57:00) [11]

>Виталий Панасенко (17.04.03 11:36)
>А зачем свойства MasterSource/MasterField ?

Для своих вопросов принято создавать свою ветку...:)))


Виталий Панасенко   (2003-04-17 11:36:00) [12]

Удалено модератором
Примечание: Задай СВОЙ вопрос в отдельной своей ветке


Johnmen   (2003-04-17 11:00:00) [13]

>главная и подчиненная таблица, связаны по ключевому полю

Как осуществлена связь ?


Max Zyuzin   (2003-04-17 10:53:00) [14]

>Tomkat © (17.04.03 10:41)
Банальный флажок например завести :-) и выполнять дело в AfterScroll только по флажку.. который включать будешь когда необходимо...


Tomkat   (2003-04-17 10:41:00) [15]

а как вообще вырубить IBDataSet.AfterScroll ????


Tomkat   (2003-04-17 10:23:00) [16]

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


Жук   (2003-04-17 10:09:00) [17]

Можно в AfterScroll поставить запуск таймера, а подчинённую таблицу обновлять в OnTimer. Тогда ничего отключать не надо.


Соловьев   (2003-04-17 10:03:00) [18]

перед удалением отключай обработку AfterScrol


Наверх

Титульная страница Поиск, карта сайта Написать письмо