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

Вниз

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

 
me2   (2003-03-13 09:09) [0]

Народ, объясните пожалуйста как устанавливается блокировка записи в многопользовательском приложении, т.е. если я редактирую запись никто другой ее редактировать не сможет.


 
zacho ©   (2003-03-13 09:20) [1]

Почитай на www.ibase.ru и в документации о транзакциях, уровнях изоляции и т.п.
Коротко: если в контексте какой-либо транзакции были изменены записи, то до завершения этой транзакции другие транзакции изменить эти записи не смогут. Если тебе нужно заблокировать запись, можно сделать "холостой" апдейт, т.е. UPDATE MYTABLE SET MYFIELD=MYFIELD WHERE ...


 
me2   (2003-03-13 09:56) [2]

А как сообщить пользователю, что в данный момент запись отредактировать неудалось, а то он подумает, что внес изменения, а на самом деле - нет.


 
zacho ©   (2003-03-13 11:06) [3]

Получишь от сервера сообщение об ошибке. Вот его и обрабатывай.


 
SergeyNew   (2003-03-13 11:46) [4]

2zacho

Если один пользователь выполняет Transaction.CommitRetaining то другой пользователь уже не может после этого изменять запись, т.к. выдается ошибка. Чтобы редактировать эту надо выйти из проги и зайти в нее опять. Если же делать Transaction.RollBackRetaining, то другой юзер может редактировать запись. Что делать?


 
Johnmen ©   (2003-03-13 12:14) [5]

>SergeyNew (13.03.03 11:46)
>...другой пользователь уже не может после этого изменять запись

Очень даже может ! Просто надо определиться со стартом и завершением транзакций.

>Чтобы редактировать эту надо выйти из проги и зайти в нее опять

Значит прога написана кривовато...:)



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

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

Наверх




Память: 0.48 MB
Время: 0.011 c
1-100317
sagchat
2003-03-19 15:24
2003.03.31
Обновления


1-100209
BoDa
2003-03-20 10:32
2003.03.31
Цвет строк в Memo


1-100301
skorpi
2003-03-19 10:18
2003.03.31
Мастаки! Как вернуть указатель на фрейм, который находится в DLL?


7-100482
Кирюшин Андрей
2003-02-06 21:00
2003.03.31
+ более общий вопрос


7-100475
Ionv
2003-02-06 14:00
2003.03.31
Обновление экрана