
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
04.02.2004, 16:39
|
|||
|---|---|---|---|
|
|||
И о5 про блокировку нескольких записей в таблице.Как правильно? |
|||
|
#18+
Возможно ли это? Файл-сервер, А97, н-пользователей, линейная таблица. Нужно по условию блокировать записи в таблице. Например, когда один пользователь начинает работать с записями по фильтру, для остальных записи по этому фильтру должны быть заблокированы на изменение, удаление и добавление. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.02.2004, 16:43
|
|||
|---|---|---|---|
|
|||
И о5 про блокировку нескольких записей в таблице.Как правильно? |
|||
|
#18+
Начни транзакцию Отредактируй нужные записи (Edit - Update без внесения изменений) Подвесь транзакцию за веревочку куда-нибудь Когда надо будет освободить записи - завершай транзакцию (если сам эти записи менял - то commit'ом, если только читал - то rollback'ом) Учти, что в 97-м блокировка только на уровне страниц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.02.2004, 16:45
|
|||
|---|---|---|---|
|
|||
И о5 про блокировку нескольких записей в таблице.Как правильно? |
|||
|
#18+
Заводим поле: код юзера, который редактирует запись. Теперь осталось вовремя заполнять и чистить это поле, а также предусмотреть возможность блокировок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.02.2004, 16:58
|
|||
|---|---|---|---|
|
|||
И о5 про блокировку нескольких записей в таблице.Как правильно? |
|||
|
#18+
2 Саныч Теперь осталось вовремя заполнять и чистить это поле, а также предусмотреть возможность блокировок А так же не забывать проверять это поле перед каждым редактированием записи, через код и через формы, а так же смириться с тем, что между проверкой и установкой рукотворной "блокировки" кто-нибудь тебя может тебя опередить. Да еще и клиент может отвалиться ненароком (не почистив за собой) В общем, это уже обсуждалось. Не стоит пытаться сделать блокировки не используя родные блокировки. Получится только хуже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.02.2004, 17:00
|
|||
|---|---|---|---|
|
|||
И о5 про блокировку нескольких записей в таблице.Как правильно? |
|||
|
#18+
Уболтал. :^) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.02.2004, 17:06
|
|||
|---|---|---|---|
|
|||
И о5 про блокировку нескольких записей в таблице.Как правильно? |
|||
|
#18+
2Лох Позорный: А позволяет ли этот способ блокировать добавление новых записей, удовлетворяющих условию фильтра? 2Владимир Саныч: Способ хорош, но требует изменения логики работы и достаточной переработки отдельных кусков:( Попроще бы что-нибудь, эх.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.02.2004, 17:20
|
|||
|---|---|---|---|
|
|||
И о5 про блокировку нескольких записей в таблице.Как правильно? |
|||
|
#18+
2 Усталый А позволяет ли этот способ блокировать добавление новых записей, удовлетворяющих условию фильтра? Не-а. Добавление записей вообще сложно заблокировать (если не брать в расчет блокировку всей таблицы), а уж заблокировать добавление записей по критерию - средствами Jet имхо не получится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.02.2004, 17:24
|
|||
|---|---|---|---|
|
|||
И о5 про блокировку нескольких записей в таблице.Как правильно? |
|||
|
#18+
Мать - Мать - Мать!!! А как же все выкручиваются? Свою логику цепляют? Ндя... :((((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.02.2004, 17:29
|
|||
|---|---|---|---|
И о5 про блокировку нескольких записей в таблице.Как правильно? |
|||
|
#18+
Если нужно сложную логику на блокировки - то это только нормальная СУБД вроде SQL и т.п., но никак не Access MDB. Для MDB в качестве "идеи на коленке" - завести свою таблицу блокировок, что-то вроде - имя таблицы, ключ. При работе пользователя - нужные записи копируются в эту таблицу, после работы удаляются. Любые операции вставка/редактирование/удаление делать только при отсутствии соответствующих записей в этой талблице. Хотя все равно - это глухой вариант, т.к. нужно отлавливать случаи, когда отвалился клиент и не почистил за собой и другие нештатные ситуации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.02.2004, 17:38
|
|||
|---|---|---|---|
|
|||
И о5 про блокировку нескольких записей в таблице.Как правильно? |
|||
|
#18+
incold Хотя все равно - это глухой вариант, т.к. нужно отлавливать случаи, когда отвалился клиент и не почистил за собой и другие нештатные ситуации. Вот именно, что то мне напоминает? что ходил я такой тернистой дорогой и нажил еще больше проблем чем было:( Попробую наверное сперва скрестить BeginTrans с какой нибудь логикой по отлову новых записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.02.2004, 18:38
|
|||
|---|---|---|---|
И о5 про блокировку нескольких записей в таблице.Как правильно? |
|||
|
#18+
Сама по себе эта дорога - весьма плохая. Ею не ходят. Но если сильно хочется, ищи вокруг adLockPessimistic блокировок, BatchUpdates и т.д. (и тд (и тд)) ЗЫ По поводу вопроса: Если пользователь ушел на обед до завтра? Все уходят вслед за ним? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.02.2004, 19:08
|
|||
|---|---|---|---|
|
|||
И о5 про блокировку нескольких записей в таблице.Как правильно? |
|||
|
#18+
2 Victosha Спасибо почитаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/search_topic.php?author=VistaUser&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
152ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 645ms |
| total: | 906ms |

| 0 / 0 |
