Вниз
Скачать: CL | DM;

Отслеживание изменения данных   Найти похожие ветки 

 
ПИТОН   (2003-01-23 07:00) [0]

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


 
sniknik ©   (2003-01-23 08:31) [1]

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

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

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


 
sniknik ©   (2003-01-23 08:49) [2]

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


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

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


 
Sergey13 ©   (2003-01-23 11:27) [4]

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


 
Cobalt ©   (2003-01-25 22:15) [5]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.013 c
1-38286
Ash
2003-02-05 18:37
2003.02.13
DrawFocusRect


3-38090
Beep
2003-01-25 16:05
2003.02.13
Как осуществляется быстрый поиск в IBTable?


7-38583
Василий 2100
2002-12-10 10:46
2003.02.13
Использование DeviceIoControl в Delphi.


4-38619
YY
2002-12-29 22:56
2003.02.13
Работа SystemParametersInfo


3-38129
Moe
2003-01-28 12:41
2003.02.13
Получить информацию имена полей в БД Ассеss




   Наверх