Название: Хранение данных Отправлено: mwChief от Февраль 24, 2010, 01:17 Программа загружает данные из базы при начале работы и сохраняет только при завершении работы или по требованию. Часть данных (некоторые небольшие таблицы) загружается обязательно, остальные могут быть загружены по требованию. В процессе работы данные могут изменятся. Как правило это только добавление, возможно изменение и удаление (удаление только оперативных данных которые добавились в этой сессии), но из базы данные никогда не удаляются.
Вопрос как правильно организовать хранение данных загруженых в память? Чтоб из всех модулей программы иметь к ним доступ. Вопрос довольно общий, непосредственно с Qt, наверное, не связан, но поскольку пишу я эту программу на Qt решил задать этот вопрос здесь. Название: Re: Хранение данных Отправлено: lit-uriy от Февраль 24, 2010, 06:15 Ну затея по моему не фонтан, лучше просто с БД работать. Но если приспичило данные держать рядом с программой, до тех пор пока явно пользователь не скажет сохранить, то можно воспользоваться локальной БД, в которую изначально копируются данные из основной БД.
Например, можно использовать SQLite или {Firebird|MySQL}embeded Название: Re: Хранение данных Отправлено: voronElf от Февраль 24, 2010, 10:18 Идея конечно не фонтан, и нужно глубоко задуматься, насколько оправданно именно так реализовывать.
Ну если уж решил, то со структурами данных разбираться в зависимости от структуры бд (QList и динамическая память в помощь ;) ). А чтоб из всех модулей иметь доступ: делаешь класс - поставщик данных, один экземпляр на всю прогу этого класса, в каждом модуле адрес этого объекта имеешь и обращаешься. На основе такого поставщика данных можно и модели наворачивать, если нужно отображать данные в представлениях. Название: Re: Хранение данных Отправлено: ритт от Февраль 24, 2010, 11:05 > делаешь класс - поставщик данных...
да-да, это всё прекрасно, но не проще ли использовать sqlite с таблицами в базе :memory ? посмотрите примеры/демки скл из состава кутэ - быстро и сердито. Название: Re: Хранение данных Отправлено: mwChief от Февраль 24, 2010, 14:55 Большое всем спасибо, действительно задумался так ли мне нужны таблицы в памяти.
И еще один вопросик, где лучше держать настройки программы? Была мысль держать их тоже в базе, но не слишком ли это круто для десятка параметров? :) Название: Re: Хранение данных Отправлено: lit-uriy от Февраль 24, 2010, 15:17 >>для десятка параметров?
Например, QSettings |