отображение строчек таблицы базы в объекты?
От: dave_2  
Дата: 12.01.18 21:17
Оценка:
Возьмем для примера простейшую таблицу:

CREATE TABLE tbl(key INTEGER PRIMARY KEY, cap TEXT NOT NULL);


Если вставить новую запись с полем cap='AAA' (INSERT), удалить ее (DELETE)
и вставить новую (INSERT) с cap='BBB'.
То по крайней мере в sqlite запись с cap='AAA' и c cap='BBB'
будут иметь одинаковый "key" (имеется ввиду удаленная запись с cap='AAA'
имела скажем key=1, и новая запись тоже будет иметь key=1).

Я разрабатываю приложение, которое должно позволить
открывать одну и ту же запись в разных независимых окнах (вернее множество
записей пересечение которые может быть не нулевое, но для упрощение ограничимся
одной записью).

И вот допустим мы прочитали какую-то запись из таблицы,
превратили ее в объект,и открыли этот объект в нескольких окнах.
В одном окне мы нажали кнопку удалить, потом создали новую запись,
в это время у нас все еще открыто третье окно в котором данные уже
удаленной записи, допустим мы в нем что-то меняем и нажимаем сохранить,
и получится ерунда какая-то, если использовать "key" как уникальный
идентификатор объекта базы.

Что в таким случаях делают, вводят типа "кэш" между классами отвечающими
за работу с базой и программой, и все GUI работающее с базой подписываются
на события "кэша" и если в одном окне объект удаляется, то "кэш" извещает
окна что такого объекта нет?
Отредактировано 12.01.2018 21:18 dave_2 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.