| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MS SQL Server > View и актуальность данных |
| Автор: MadCoder 11.8.2008, 13:35 |
| Здравствуйте! У меня есть вьюшка, которая формирует список договоров с данными. При просмотре в клиенте, написанном на Delphi, я щелкаю по записям с помощью Next и Prior. При этом, если данные договора были изменены другим клиентом, изменения не отображаются и я вижу все те же старые данные. Как это можно исправить? |
| Автор: aleksh 11.8.2008, 15:15 |
| извеняюсь, если глупость спрошу, но все же: а апдейт базы клиентами сделан? |
| Автор: MadCoder 11.8.2008, 15:38 | ||
Да, но записи делает специальная процедурка на сервере. Т.е. клиент присылает данные, например, был звонок по контракту, на сервер. Сервер смотрит и в зависимости от многих условия делает записи в договоре. |
| Автор: aleksh 11.8.2008, 15:49 |
| может при вытягивании из базы в клиент все заносится в кэш и при шелчке этот самый апдейт не делается, или так: с записи "1" переходим клико по next на "2", а запрос на апдейт посылается для "1" |
| Автор: MadCoder 13.8.2008, 15:25 | ||||
| aleksh, спасибо, разобрался. Проблема действительно в клиенте. Я использую TAdoQuery для запроса. Там есть параметры CursorLocation и CursorType. Если делать так (по-умолчанию):
А если поменять их так:
То программа быстро получит данные от сервера, но при каждом Next и Prior будет подгружать новые данные из курсора. При этом нельзя будет посмотреть номер текущий записи и общее количество записей, т.к. клиент их не знает, он же не подгружал все записи. Я думаю, все таки оставить первый вариант, но добавить в него обновление нужных мне данных (пару полей) другим запросом. |