Конференция "Начинающим" » уведомление о блокировке записи [D7, XP, 2003]
 
  • rrrrrr © (20.09.17 20:31) [120]
    произошедшие - так же как как и окружающую тебя действительность .
    а происходящие - через кансел
  • sniknik © (20.09.17 21:01) [121]
    > Как заставить датасеты игнорировать произошедшее изменение записи?
    ltBatchOptimistic и все там рядом в справке, для
    > И таки апдейтить запись?
  • rrrrrr © (20.09.17 21:09) [122]
    шли четырнадцатые сутки
    как мы узнали что пользователи офигевают, увидев какое-то сообщение об ошибке.

    в следующем сезоне точно узнаем какое именно.
  • Дмитрий (21.09.17 20:40) [123]

    > ltBatchOptimistic и все там рядом в справке, для

    Это таки блокировка, хоть и оптимистичная, а не игнорирование.

    У adQuery три варианта:
    lmPessimistic, lmOptimistic & lmRely
    Изначально стоял именно imRely.
    Когда для контроля и проверки версии одновременного редактирования ввел больше  строгости в виде imOptimistic народ сразу заныл.
    Вернул imRely.

    Сейчас для эксперимента в одной форме "разбил" датасет на два.
    При редактировании обоих сразу разницы в imOptimistic & imRely не замечаю.
    Ругается одинаково.
  • Дмитрий (21.09.17 20:42) [124]
    Как реализовать вариант "кто последний тот и папа"?
  • sniknik © (21.09.17 22:08) [125]
    > Это таки блокировка, хоть и оптимистичная, а не игнорирование.
    таки нет, это полное игнорирование сервера, а значит и блокировать его не будет.

    > У adQuery три варианта:
    > lmPessimistic, lmOptimistic & lmRely
    че за ботва? это не ADO, или не D7/вообще не дельфи, в нем таких нет.
  • KilkennyCat © (22.09.17 00:39) [126]

    > Дмитрий   (21.09.17 20:42) [124]
    > Как реализовать вариант "кто последний тот и папа"?

    странный вопрос. это вообще ни как не реализуется, потому что реализуется само по себе
  • Дмитрий (22.09.17 16:56) [127]

    > че за ботва? это не ADO, или не D7/вообще не дельфи, в нем
    > таких нет.

    Разумеется это не АДО.
    Это ADQuery AnyDAC.
    Таки Д7.
  • Дмитрий (22.09.17 17:01) [128]

    > таки нет, это полное игнорирование сервера, а значит и блокировать
    > его не будет.

    но "одновременные" изменения вызовут ошибку.
  • KilkennyCat © (22.09.17 18:36) [129]

    > Дмитрий   (22.09.17 17:01) [128]

    коллизии описаны практически в каждой книжке по бд. Имеет смысл прочитать хотя бы одну.
  • Дмитрий (22.09.17 19:18) [130]
    На данный момент по коллизиям исследуется конкретное решение,
    озвученное
    sniknik ©   (07.09.17 00:24) [7]
  • kilkennycat © (22.09.17 20:53) [131]

    > Дмитрий   (22.09.17 19:18) [130]

    именно об этом говорю. там нечего исследовать, всё исследовано и описано в книжках, остается лишь брать и пользоваться.
  • Любопытный (22.09.17 21:10) [132]
    Как для второго пользователя отследить блокировку записи для редактирования и вывести уведомление?
    Зачем для второго пользователя блокировать запись, если результаты редактирования первого пользователя бессмысленны? Второй пользователь через пару секунд (минут) их заменит. А третий заменит результаты второго. Проблема в "структуре" программы. Возможно следовало бы организовать некие "шаблоны" вне базы, которые заполнялись бы пользователями, пусть даже одновременно, не стесняя друг друга. Тогда, возможно, стало бы гораздо меньше "столкновений", только на момент записи в базу, а не на все время редактирования записи ...
  • Дмитрий (25.09.17 18:13) [133]
    Вопрос реализации "кто последний тот и папа" решен.
    Для этого потребовалось в ADQuery задействовать флажок "LockPoint", изменив его значение на lpImmediate.
    Где взять книжку, в которой это было написано.
  • Дмитрий (25.09.17 18:27) [134]
    Разумеется, что для игнорирования блокировки задействовал LockPoint=lpImmediate одновременно с LockMode=lmRely
  • KilkennyCat © (25.09.17 18:27) [135]
    Наверное, в книжке по энидаку.
  • Дмитрий (25.09.17 20:54) [136]
    вы снова отвечаете на другой вопрос
  • KilkennyCat © (25.09.17 21:55) [137]
    ага. могу еще на другой ответить: все было бы проще, если бы было не MyIsam. И это тоже в книжках.
 
Конференция "Начинающим" » уведомление о блокировке записи [D7, XP, 2003]
Есть новые Нет новых   [118597   +12][b:0.001][p:0]