Главная страница
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.017 c
1-81224
Help
2002-07-13 20:02
2002.07.25
Как в Memo вставить текст при нажатии...


3-81138
FilSM
2002-07-02 11:40
2002.07.25
Изменение значений свойств у Components


14-81431
TormoZZZ
2002-06-26 16:48
2002.07.25
Восстановление информации.


14-81417
VDen
2002-06-26 14:25
2002.07.25
Два браузера


6-81394
chernoruk
2002-05-13 07:53
2002.07.25
Последний раз про IP и GetHostByName