Re[2]: отображение строчек таблицы базы в объекты?
От: dave_2  
Дата: 13.01.18 14:55
Оценка:
Здравствуйте, wildwind, Вы писали:


W>Примерно так, только называется это не "кэш", а блокировки. При начале редактирования в форме происходит попытка заблокировать объект в БД. Если он уже заблокирован, пользователь получает сообщение об ошибке.


W>Это т.н. пессимистические блокировки. бывают еще оптимистические, но для простоты пока не будем о них.


W>SQLite не поддерживает блокировки на уровне отдельных строк, только таблицы целиком. Придется либо реализовать их в приложении, либо сменить СУБД.


Допустим в sqlite были бы пессимистические блокировки на уровне рядов таблицы.
Понятно как это поможет в сценарии взяли объект, поменяли и возвращаем на то место откуда взяли.
Но как они помогут в согласованности данных в разных окнах?

Допустим есть окно со списком объектов, двойным кликом открывается окно просмотра
объекта, в котором есть кнопки "Удалить" и "Редактировать".
При нажатии "Редактировать" или "Удалить" логично взять блокировку,
но как другие "окна" которые работают с базой только на чтение получат
информацию о том что что-то поменялось и надо вытащить данные заново?

Понятно как это делать когда окна редактирования модальные, и после возвращения
управления можно перечитать базу, а если они как в моем случае немодальные?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.