Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.25;
Скачать: CL | DM;

Вниз

Изменение данных в справочнике, отображение в таблицах.   Найти похожие ветки 

 
kengura   (2002-07-04 20:02) [0]

Вроде должен был уже вопрос обсуждаться, но не нашел. Есть справочник, есть связанные с ним таблицы (работаю с ними через TIBQuery). После измененения данных в справочнике приходиться переоткрывать эти запросы - Close, Open. Есть ли возможность перечитать только нужные записи в связанных таблицах?


 
Viewer   (2002-07-04 20:24) [1]

И как Вы себе это представляете ?
Вы изменили в справочнике запись поле с "Пупкин" на "Ступкин".
В связанной таблице есть записи 2,34,567,123456 ссылающиеся на
id c этим "Пупкиным-Ступкиным".
Что же может определить необходимость изменения отображения именно этих записей кроме как переоткрытия запроса ?


 
kengura   (2002-07-04 20:43) [2]

Viewer.
Никак себе не представляю, поэтому и спрашиваю. :)
Тем не менее переоткрывание 123456 с плюсом записей после изменений "Пупкин-Ступкин" кажется излишним, тем более если связанных таблиц несколько. Вот работает же как-то TIBUpdateSql через свойство RefreshSQL для отображения измененной записи без переоткрытия всего набора данных.


 
kaif ©   (2002-07-05 03:27) [3]

На самом деле TIBUpdateSql тоже переоткрывает запрос, но только для текущей строки набора. Видимо, Вы хотите избавиться не столько от переоткрытия, сколько от Fetch всех записей.
Если Вас устраивает механизм Refresh, применяемый TIBUpdateSql, то можно его воспроизвести. Можно вместо TIBQuery поставить TIBDataSet, прописать текст RefreshSQL. Потом просканировать имеющийся набор и сделать Refresh тех строк, где имеется данное значение ссылки на справочник. Чтобы не было мелькания в сетках можно заключить этот цикл в
IBDataSet.DisableControls
цикл сканирования набора с Refresh нужных строк
IBDataSet.EnableControls
Не знаю, что из этого выйдет, но можно попробовать...
Все зависит от соотношения количества и времени Refresh к общему времени просто переоткрытия запроса. Если конкретное значение справочника встречается редко, то можно получить выигрыш по скорости, если часто - то скорее значительный проигрыш.


 
Johnmen ©   (2002-07-05 09:31) [4]

По поводу kaif © (05.07.02 03:27) :
Короче - используй TIBDataSet и метод RefreshSQL



Страницы: 1 вся ветка

Текущий архив: 2002.07.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
3-81186
RDA
2002-07-04 13:12
2002.07.25
DBTreeList и FBPlus проблемы с удалением


1-81320
Delph
2002-07-12 16:54
2002.07.25
Сравнение строк.


8-81380
SemenK
2002-03-19 20:48
2002.07.25
Как задать один из цветов изображения - прозрачнім в компоненте Image ?


14-81430
Shefard
2002-06-27 11:21
2002.07.25
delphi


3-81165
KAA
2002-07-04 11:09
2002.07.25
2000 Warning: Null value is eliminated by an aggregate or