Подскажите как работать с командой Lock() в таком случае | |
---|---|
ZenTigra Сообщений: 514 Дата регистрации: 03.12.2004 |
Честно говоря, ходить по граблях не хочется, и делать тесты.
Тому спрошу здесь. Есть таблица, которая ДВАЖДЫ открывается в программе.
При блокировке записи в первой таблице (ALIAS Table1) командой LOCK(), по идее проводить повторную блокируется запись в (ALIAS _Table1) (или проверять) не нужно, и с записью в "ALIAS _Table1" программа может свободно работать. PS.Почему так запутанно, просто не хочу ломать код, и нарушать связи между таблицами, проще было открыть еще один экземпляр таблицы и с ним работать. Исправлено 2 раз(а). Последнее : ZenTigra, 25.10.20 11:02 |
Re: Подскажите как работать с командой Lock() в таком случае | |
---|---|
Igor Korolyov Автор Сообщений: 34580 Дата регистрации: 28.05.2002 |
Ручная блокировка при правильной организации работы с данными в принципе нужна весьма нечасто. Но смысла накладывать блокировку на один ресурс чтобы потом предполагать что можно эксклюзивно работать с другим ресурсом - я не вижу. Там где по логике требуется блокировка (но я ещё раз повторюсь - в большинстве случаев ручная блокировка НЕ НУЖНА) - там её и нужно накладывать, и там же и снимать.
------------------ WBR, Igor |
Re: Подскажите как работать с командой Lock() в таком случае | |
---|---|
of63 Сообщений: 25244 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Не знаю как должно быть, но эксперимент (с сетевой табличкой) показывает, что блокируется единственная запись на оба алиаса:
() это понятно, т.к. блокировка производится в физическом файле, а не где-то в фоксе |
Re: Подскажите как работать с командой Lock() в таком случае | |
---|---|
andrewk Сообщений: 174 Откуда: Красноярск Дата регистрации: 15.05.2005 |
Вот что когда-то записал себе в заметки после экспериментов: Одна таблица в разных областях работает одновременно. Установка/снятие блокировки в одной области делает то же в других областях. Но разные DataSession работают независимо. Изменения у заблокированной записи в базу пишутся ОЧЕНЬ НЕ сразу! Чтобы другие экземпляры их увидели сразу - приходится делать Unlock + Lock |
Re: Подскажите как работать с командой Lock() в таком случае | |
---|---|
ZenTigra Сообщений: 514 Дата регистрации: 03.12.2004 |
Спасибо, я про это и хотел услышать.
|
© 2000-2024 Fox Club  |