Переоткрытие запроса TQuery без мерцания...

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Переоткрытие запроса TQuery без мерцания...

GOS » 15 сен 2004, 20:49

Спасибо!

Naeel Maqsudov » 12 сен 2004, 22:25

Не прав.
Так как даже если select-запрос выполняет объединение таблиц, то Update-запрос (или Inser/delete-запроc) будет делать то, что мы там напишем.
Даже если мы захотим разрешить менять поля в обеих таблицах (а не только "в таблице, сохраняющей ключи"), думаю, что мы сможем это сделать несколькими операторами update, но в этом случае прийдется динамически подменять текст оператора update в нужный момент. (Не пробовал, но думаю можно). А еще можно попробовать TUpdateSql научить выполнять несколько операторов, разделенных точкой с запятой (т.е. написать свой компонент, который это умеет)

Кроме того если мы используем, например, ODBC+TQuery+TUpdateSQL для доступа к Oracle, то можем апдейтить встроенный View, содержащий Join нескольких таблиц, если update касается таблицы, "сохраняющей ключи".

GOS » 08 сен 2004, 21:23

но только если не использвать запрос для выборки данных из нескольких связанных таблиц...
или я не прав?

Naeel Maqsudov » 08 сен 2004, 01:21

если мне мой склероз не изменяет
Почти не изменяет :)

Есть 2 метода DisableControls и EnableControls

НО они тут не помогут, я думаю.
один из TQuery служит для отображения информации в сетке, а другой TQuery для изменения данных
Это неправильный подход.
Правильный - это TQuery для отображения данных + TUpdateSQL для изменения.
Query1.UpdateObject надо сделать = UpdateSQL1, в UpdateSQL1 ввыести запросы, которые будут выполняться при удалении/обновлении/вставке и TQuery станет работать как обычный TTable!

AiK » 07 сен 2004, 21:05

GOS, если мне мой склероз не изменяет, то есть такое свойство DisableControls.
Кроме того, в крайнем случае можно и Dataset в null поставить.

Переоткрытие запроса TQuery без мерцания...

GOS » 07 сен 2004, 20:20

При работе с программой один из TQuery служит для отображения информации в сетке, а другой TQuery для изменения данных...

Так вот проблемма в том, что для просмотра изменений внесённых вторым TQuery необходимо переоткрыть первый TQuery а это влечёт за собой затраты времени и мерцание...


Как от этого избавиться или хотябы минимизировать?

С уважением, Олег.

Вернуться к началу