-
произошедшие - так же как как и окружающую тебя действительность .
а происходящие - через кансел
-
> Как заставить датасеты игнорировать произошедшее изменение записи?
ltBatchOptimistic и все там рядом в справке, для
> И таки апдейтить запись?
-
шли четырнадцатые сутки
как мы узнали что пользователи офигевают, увидев какое-то сообщение об ошибке.
в следующем сезоне точно узнаем какое именно.
-
> ltBatchOptimistic и все там рядом в справке, для
Это таки блокировка, хоть и оптимистичная, а не игнорирование.
У adQuery три варианта:
lmPessimistic, lmOptimistic & lmRely
Изначально стоял именно imRely.
Когда для контроля и проверки версии одновременного редактирования ввел больше строгости в виде imOptimistic народ сразу заныл.
Вернул imRely.
Сейчас для эксперимента в одной форме "разбил" датасет на два.
При редактировании обоих сразу разницы в imOptimistic & imRely не замечаю.
Ругается одинаково.
-
Как реализовать вариант "кто последний тот и папа"?
-
> Это таки блокировка, хоть и оптимистичная, а не игнорирование.
таки нет, это полное игнорирование сервера, а значит и блокировать его не будет.
> У adQuery три варианта:
> lmPessimistic, lmOptimistic & lmRely
че за ботва? это не ADO, или не D7/вообще не дельфи, в нем таких нет.
-
> Дмитрий (21.09.17 20:42) [124]
> Как реализовать вариант "кто последний тот и папа"?
странный вопрос. это вообще ни как не реализуется, потому что реализуется само по себе
-
> че за ботва? это не ADO, или не D7/вообще не дельфи, в нем
> таких нет.
Разумеется это не АДО.
Это ADQuery AnyDAC.
Таки Д7.
-
> таки нет, это полное игнорирование сервера, а значит и блокировать
> его не будет.
но "одновременные" изменения вызовут ошибку.
-
> Дмитрий (22.09.17 17:01) [128]
коллизии описаны практически в каждой книжке по бд. Имеет смысл прочитать хотя бы одну.
-
На данный момент по коллизиям исследуется конкретное решение,
озвученное
sniknik © (07.09.17 00:24) [7]
-
> Дмитрий (22.09.17 19:18) [130]
именно об этом говорю. там нечего исследовать, всё исследовано и описано в книжках, остается лишь брать и пользоваться.
-
Как для второго пользователя отследить блокировку записи для редактирования и вывести уведомление?
Зачем для второго пользователя блокировать запись, если результаты редактирования первого пользователя бессмысленны? Второй пользователь через пару секунд (минут) их заменит. А третий заменит результаты второго. Проблема в "структуре" программы. Возможно следовало бы организовать некие "шаблоны" вне базы, которые заполнялись бы пользователями, пусть даже одновременно, не стесняя друг друга. Тогда, возможно, стало бы гораздо меньше "столкновений", только на момент записи в базу, а не на все время редактирования записи ...
-
Вопрос реализации "кто последний тот и папа" решен.
Для этого потребовалось в ADQuery задействовать флажок "LockPoint", изменив его значение на lpImmediate.
Где взять книжку, в которой это было написано.
-
Разумеется, что для игнорирования блокировки задействовал LockPoint=lpImmediate одновременно с LockMode=lmRely
-
Наверное, в книжке по энидаку.
-
вы снова отвечаете на другой вопрос
-
ага. могу еще на другой ответить: все было бы проще, если бы было не MyIsam. И это тоже в книжках.