Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Отслеживание изменения данных [D6, MS Acess;ADO]


ПИТОН ©   (2003-01-23 07:00:00) 

Есть БД, с которой работают несколько пользователей.
Для отслеживания изменений в рабочей таблице есть поле ID. Если это поле изменяется, то необходимо перечитать все поля записи.
В отдельном потоке идет постояное считывание этого поля и проверка на изменение. При этом без рефреша ID не изменяется николгда, а с ним включаютя тормоза. Можно ли это как-нибуь обойти.


Cobalt   (2003-01-25 22:15:00) [1]

У меня такая же база (MS Access, сеть) - задержка между изменением с одного компа и "узнаванием об этом" на другом компе - от 5 до 10 секунд (при том, что один из клиентов на том же компе, что и база)


Sergey13   (2003-01-23 11:27:00) [2]

2ПИТОН (23.01.03 07:00)
Ты пытаешься на MS Acess сделать систему реального времени? Да еще и по сети? Реши для себя вопрос - надо ли отслеживать изменения в реальном времени?


ПИТОН   (2003-01-23 08:58:00) [3]

Спасибо. статью уже сам нашел. Изучаю


sniknik   (2003-01-23 08:49:00) [4]

http://delphi.mastak.ru/articles/panov/index.html
статья.


sniknik   (2003-01-23 08:31:00) [5]

>В отдельном потоке идет постояное считывание этого поля и проверка на изменение.
Не делай "постояное считывание" делай переодическое, раз в секунду/пол сек/...., практически вставь sleep(???) в поток между считываниями.

> При этом без рефреша ID не изменяется николгда
То есть читаеш из таблици с полным списком? Сделай запрос с условием для считывания только одного этого значения и вызывай его.

И можно ограничить постоянные перечитывания, сама база является файлом а у него есть атрибуты, один из них время последнего изменения. проверить их гораздо быстрее чем лезть в файл открывать и ... а вот если он изменился стоит проверить может та таблица менялась.
И даже его можно не проверять постояно есть системное оповещение об изменениях в каталоге. еще один путь не дергать файл постоянно.
(про оповещение здесь есть пример в статьях о потоках, както видел)
сам так не делал, только на уровне идеи, бала раз надобность начинал но надобность отпала и бросил на половине :(. получится напиши.


Наверх

Титульная страница Поиск, карта сайта Написать письмо