Текущий архив: 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.45 MB
Время: 0.007 c