![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как обновлять Query при каждом открытии формы.
delphino © (2007-05-24 08:25:00)Как обновлять Query при каждом открытии формы. Query.Refresh не работает.
Kostafey (2007-05-24 14:05:00) [1]> Мне неизвестен метод Open для формы
низвергая стереотипы...
Anatoly Podgoretsky (2007-05-24 14:01:00) [2]Что такое открытие формы?
Мне неизвестен метод Open для формы
Knight (2007-05-24 10:39:00) [3]TDataSet.Refresh
Метод Refresh повторно читает весь TDataSet. Обращаться к Refresh следует, когда TDataSet изменяется программно или какой-то другой процесс изменяет данные, отображаемые или используемые приложением. Вызывая Refresh, вы гарантируете, что все чувствительные к данным компоненты будут представлять самые последние данные и все вычисляемые поля будут рассчитаны, исходя из последних данных. Если TDataSet является TTable, метод Refresh можно вызывать, только если базовая таблица имеет уникальный индекс. Если TDataSet является TQuery, метод можно вызывать только если это актуальный запрос к локальным таблицам, подобным Paradox или dBASE. (Обратите внимание, что в противном случае вы можете перечитать весь результирующий набор TQuery, просто закрыв и открыв его повторно.) Обращение к Refresh гарантирует предоставление текущих данных на момент вызова. Refresh можно использовать периодически для обеспечения текущих данных. Можно также использовать блокирование записи для того, чтобы не дать другим пользователям обновить запись, которая модифицируется в вашем приложении.
Примечание
При использовании таблицы Paradox можно реализовать более гибкие стратегии обновления путем регистрации обратного вызова BDE типа cbTABLECHANGED. Это предоставит возможность BDE уведомить ваше приложение о том, что данные базовой таблицы были модифицированы удаленным пользователем и обратный вызов будет выполняться при обнаружении любых изменений данных.
http://www.az-design.ru/Support/SoftWare/Delphi/D3/SB36Refresh.shtml
Knight (2007-05-24 10:29:00) [4]А разве там нет какого-нить датасет.апдейт? (Delphi на работе не установлен.. не проверить)
clickmaker (2007-05-24 10:11:00) [5]если кверик на форме, то можно его открывать при создании формы.
Если кверик на форме, но форма в автосоздании (т.е. ей только Show-Hide), то, ИМХО, это не совсем грамотно (особенно, если она модальная)
Получается, задача имеет смысл, если только кверик живет в датамодуле
Loginov Dmitry (2007-05-24 10:06:00) [6]> А зачем его обновлять? Смысл не уловлю.
На случай, если ты вдруг не один работаешь с этой базой данных.
Либо же если твоя программа внесла изменения в базу данных с помощью другого набора данных.
mfender (2007-05-24 09:41:00) [7]А зачем его обновлять? Смысл не уловлю.
Knight (2007-05-24 09:35:00) [8]Хотя... лучше давать более полную инфу.. что за query, что за форма.. может ещё чего посоветуют...
delphino (2007-05-24 08:55:00) [9]Точно. Fhanks.
NewZ (2007-05-24 08:32:00) [10]Query.Active := False;
Query.Active := True;