|
![]() |
#1 |
Участник
|
Можно ещё попробовать перед началом "чтения" прописать SELECTLATESTVERSION, .т.е хотя бы увеличить вероятность того, что "второй пользователь" прочитает свежие данные в БД, внесённые "первым пользователем".
|
|
![]() |
#2 |
Участник
|
Alterant дело говорит, в начале алгоритма пиши:
Rec.LOCKTABLE; Rec.FINDLAST; И тогда этот алгоритм никогда не будет выполняться на двух клиентах одновремено. LOCKTABLE защищает от "грязного" чтения. Я так понял тебе это и нужно. Пока один пользователь меняет данные в табличке, то верить этим данным нельзя, пока этот пользовтель не закончит. |
|
![]() |
#3 |
Участник
|
FINDLAST я бы не рекомендовал. FINDLAST блокирует только последнюю запись и возможность добавления новых. Записи из середины он не блокирует (если не было эскалации). Если нужно обеспечить целостность конкретной записи - GET, если на добавление - FINDLAST.
|
|