Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.07.25;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.006 c
7-81487
-=Gene Green=-
2002-05-01 11:56
2002.07.25
Оборудование


7-81488
x-Position
2002-04-20 18:28
2002.07.25
Нулевой байт? А как с ним бороться?


1-81307
Давид
2002-07-11 16:42
2002.07.25
Динамическое создание классов


1-81229
Builder
2002-07-14 08:48
2002.07.25
Минимизация в трей вместо закрытия


3-81153
Фикус
2002-07-04 08:26
2002.07.25
Backup - Restore командной строкой





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский