Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.07;
Скачать: CL | DM;

Вниз

Блокировки записей в многопользовательском режиме   Найти похожие ветки 

 
b-Ars ©   (2002-10-16 12:19) [0]

Зрасьте господа! Моя программа работает с расшаренными в локальной сети базами FoxPro. Для работы использую SQL-запросы. Возникает вопрос: как быть, если 2 пользователя редактируют одну запись - для TTable есть Lock`и, а для TQuery по-моему такого быть не может. Пожалуйста подскажите, каким образом решить проблему, только плиз, максимально простым путем, без премудростей, если есть только TQuery.


 
MsGuns ©   (2002-10-16 12:32) [1]

Обрабатывать события OnKeyViolate, если есть ключи и может быть вероятность добавления с разных компов записей с одинаковым набором ключей. Для обработки ситуации конфликта на одной записи служит постирование в защищенном режиме (try - except). При этом роли не играет, что используется: TTable или TQuery+Requestlive


 
b-ars ©   (2002-10-16 23:51) [2]

>MsGuns © (16.10.02 12:32) А пардон, OnKeyViolate это событие кого, TDatabase? Дык у меня нету его, он что обязательно нужен?


 
Zlob   (2002-10-17 08:15) [3]

А блокировка все равно делается в момент записи, при этом сверяется версия записи в зависимости от свойства UpdateMode.
И если версии не совпадают, то пользователь получает облом при Post.
Чем такой режим не устраивает ?


 
b-Ars ©   (2002-10-17 10:10) [4]

А блокировка при начале редактирования возможна? Мол, если кто-то уже запись юзает, то нечего туды и соваться


 
Zlob   (2002-10-17 10:18) [5]

При использовании TQuery вряд ли. Можно параллельно завести TTable, перед началом редактирования позиционироваться на соответствующую запись и делать Lock, При неудаче бросать Exception, но уж больно это муторно и криво. Либо использовать какую нибудь низкоуровневую функцию из BDE Api, надо поискать.


 
ЮЮ ©   (2002-10-17 10:19) [6]

И чего это за базы такие, что все пользователи бросаются править одну и ту же запись ? :-)


 
b-Ars ©   (2002-10-17 12:03) [7]

>ЮЮ © (17.10.02 10:19), этакий нездоровый интерес, но это обычные базы для экономистов, полей много, набивкой разные тети занимаются в разных кабинетах, поэтому случается, что это происходит одновременно :)))



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

Текущий архив: 2002.11.07;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
14-21772
Jackson
2002-10-18 21:55
2002.11.07
Hyper Terminal


3-21389
b-Ars
2002-10-15 15:49
2002.11.07
Чем обусловлено появление временных файлов?


1-21470
stone
2002-10-28 13:32
2002.11.07
Изменение ширины колонки в TListView


3-21387
arkara
2002-10-17 13:39
2002.11.07
Компоненты InfoPower


1-21550
^Sanya
2002-10-26 23:04
2002.11.07
Проблема с InstallShield: