Russian Qt Forum
Ноябрь 24, 2024, 05:55 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Хранение данных  (Прочитано 4358 раз)
mwChief
Гость
« : Февраль 24, 2010, 01:17 »

Программа загружает данные из базы при начале работы и сохраняет только при завершении работы или по требованию. Часть данных (некоторые небольшие таблицы) загружается обязательно, остальные могут быть загружены по требованию. В процессе работы данные могут изменятся. Как правило это только добавление, возможно изменение и удаление (удаление только оперативных данных которые добавились в этой сессии), но из базы данные никогда не удаляются.
Вопрос как правильно организовать хранение данных загруженых в память? Чтоб из всех модулей программы иметь к ним доступ.
Вопрос довольно общий, непосредственно с Qt, наверное, не связан, но поскольку пишу я эту программу на Qt решил задать этот вопрос здесь.
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #1 : Февраль 24, 2010, 06:15 »

Ну затея по моему не фонтан, лучше просто с БД работать. Но если приспичило данные держать рядом с программой, до тех пор пока явно пользователь не скажет сохранить, то можно воспользоваться локальной БД, в которую изначально копируются данные из основной БД.
Например, можно использовать SQLite или {Firebird|MySQL}embeded
Записан

Юра.
voronElf
Гость
« Ответ #2 : Февраль 24, 2010, 10:18 »

Идея конечно не фонтан, и нужно глубоко задуматься, насколько оправданно именно так реализовывать.

Ну если уж решил, то со структурами данных разбираться в зависимости от структуры бд (QList и динамическая память в помощь  Подмигивающий ). А чтоб из всех модулей иметь доступ: делаешь класс - поставщик данных, один экземпляр на всю прогу этого класса, в каждом модуле адрес этого объекта имеешь и обращаешься. На основе такого поставщика данных можно и модели наворачивать, если нужно отображать данные в представлениях.
Записан
ритт
Гость
« Ответ #3 : Февраль 24, 2010, 11:05 »

> делаешь класс - поставщик данных...

да-да, это всё прекрасно, но не проще ли использовать sqlite с таблицами в базе :memory ?
посмотрите примеры/демки скл из состава кутэ - быстро и сердито.
Записан
mwChief
Гость
« Ответ #4 : Февраль 24, 2010, 14:55 »

Большое всем спасибо, действительно задумался так ли мне нужны таблицы в памяти.
И еще один вопросик, где лучше держать настройки программы? Была мысль держать их тоже в базе, но не слишком ли это круто для десятка параметров? Улыбающийся
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #5 : Февраль 24, 2010, 15:17 »

>>для десятка параметров?
Например, QSettings
Записан

Юра.
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.119 секунд. Запросов: 23.