![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Отслеживание изменения данных [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 не изменяется николгда
То есть читаеш из таблици с полным списком? Сделай запрос с условием для считывания только одного этого значения и вызывай его.
И можно ограничить постоянные перечитывания, сама база является файлом а у него есть атрибуты, один из них время последнего изменения. проверить их гораздо быстрее чем лезть в файл открывать и ... а вот если он изменился стоит проверить может та таблица менялась.
И даже его можно не проверять постояно есть системное оповещение об изменениях в каталоге. еще один путь не дергать файл постоянно.
(про оповещение здесь есть пример в статьях о потоках, както видел)
сам так не делал, только на уровне идеи, бала раз надобность начинал но надобность отпала и бросил на половине :(. получится напиши.