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

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

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Хранение данных  (Прочитано 8387 раз)
brucemax
Гость
« : Февраль 27, 2013, 12:30 »

Ребят, подскажите как лучше хранить данные.  Оные представляют из себя список рецептов, рецепт это набор компонент, их плотность, вес на кг продукта и источник (число).  Рецепты должны добавляться\удаляться и редактироваться.  Взгляд у меня бросается на JSON, сталкивался с ним в андроиде.  Но я так понял вcтроенного механизма для работы с ним в Qt нет, и придётся подключать библиотечку, например http://habrahabr.ru/post/147952/.  Или лучше разбираться с xml?
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #1 : Февраль 27, 2013, 12:35 »

С каких это пор xml и json стал средством хранения динамических данных Непонимающий
Записан

Qt 5.11/4.8.7 (X11/Win)
Bepec
Гость
« Ответ #2 : Февраль 27, 2013, 12:38 »

Я б как энтузиаст предложил sqlite Улыбающийся
« Последнее редактирование: Февраль 27, 2013, 13:31 от Bepec » Записан
brucemax
Гость
« Ответ #3 : Февраль 27, 2013, 12:41 »

С каких это пор xml и json стал средством хранения динамических данных Непонимающий
Да.. сглупил
Записан
brucemax
Гость
« Ответ #4 : Февраль 27, 2013, 12:42 »

Я б как энтуазист предложил sqlite Улыбающийся
Вариант! Спасибо!
Записан
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 864

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« Ответ #5 : Февраль 27, 2013, 13:37 »

Я б как энтузиаст предложил sqlite Улыбающийся
А я бы предложил fireberd.
Что мне одному с её подключением мучиться? )))
Имелось ввиду эмбедеддд..
Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
Странник
Гость
« Ответ #6 : Февраль 27, 2013, 23:51 »

А я бы предложил fireberd.
Что мне одному с её подключением мучиться? )))
Имелось ввиду эмбедеддд..
что там мучиться, всей любви на 15 минут. вот только средствами Qt базу Firebird создать не получится - либо тащить готовый файл, либо использовать родной API. на мой взгляд, для простых баз достаточно SQLITE - с ним мороки меньше.
Записан
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 864

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« Ответ #7 : Февраль 28, 2013, 02:34 »

А я бы предложил fireberd.
Что мне одному с её подключением мучиться? )))
Имелось ввиду эмбедеддд..
что там мучиться, всей любви на 15 минут. вот только средствами Qt базу Firebird создать не получится - либо тащить готовый файл, либо использовать родной API. на мой взгляд, для простых баз достаточно SQLITE - с ним мороки меньше.
У маня пока не получилось собрать с эмбедед.
делал по этому мануалу.
Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
Странник
Гость
« Ответ #8 : Февраль 28, 2013, 12:32 »

У маня пока не получилось собрать с эмбедед.
делал по этому мануалу.
технически, плагин собирается с полной версией. это при запуске вы можете ему вместо оригинальной библиотеки fbclient.dll версию с встроенным сервером fbembed.dll подсунуть - интерфейсы совместимы. у вас именно плагин не собирается или подключиться не удается?
Записан
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 864

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« Ответ #9 : Февраль 28, 2013, 13:48 »

НЕ смог подключиться пока сервер не запустил.
Но мне сервак не нужен, мне нужна было именно эмбедед версия.
Я еще покопаю конечно, если что поспрашиваю.
« Последнее редактирование: Февраль 28, 2013, 13:52 от panAlexey » Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
Hellraiser
Бывалый
*****
Offline Offline

Сообщений: 451


Просмотр профиля
« Ответ #10 : Февраль 28, 2013, 14:11 »

Если не ошибаюсь, при использовании эмбед версии dll, поставляемую с ней, необходимо переименовать в fbclient.dll. Подключиться возможно только к локальному ресурсу, т.е. по указанию пути к базе.
Записан
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 864

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« Ответ #11 : Март 01, 2013, 10:09 »

Если не ошибаюсь, при использовании эмбед версии dll, поставляемую с ней, необходимо переименовать в fbclient.dll. Подключиться возможно только к локальному ресурсу, т.е. по указанию пути к базе.
Мне бы хотя бы мини-проект с подключением. Пока на нашел.
Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
Hellraiser
Бывалый
*****
Offline Offline

Сообщений: 451


Просмотр профиля
« Ответ #12 : Март 01, 2013, 11:40 »

Хорошо, хоть и не в тему треда, но попробую показать. Мини-проектов никаких не надо, достаточно стандартного SQLBrowser и любой базы.
Имеем Windows, MSVS2010, Qt 4.8.4 сборка для 2010 (в переменных окружения заданы QTDIR, QMAKESPEC и PATH).
1. Загружаем полный сервер firebird от разработчиков. Версию взял последнюю, под win32 (сборка для Qt win32), без установки, в зипе (ведь мне нужны только библиотеки для сборки). Чтобы не мучаться в дальнейшем, архив распаковал в C:\Firebird.
2. Запускаем Qt 4.8.4 Command Prompt, пишем следующее
Код
Bash
cd src\plugins\sqldrivers\ibase
qmake "INCLUDEPATH+=c:/firebird/include" "LIBS+=c:/firebird/lib/fbclient_ms.lib" ibase.pro
nmake debug-install
nmake release-install
3. Убеждаемся в появлении требуемых плагинов в QTDIR\plugins\sqldrivers
4. Распаковать скачанный от разрабов архив эмбеддеда (win32, zip) в папку со своей прогой (sqlbrowser). Переименовать fbembed.dll в fbclient.dll. Запускаем sqlbrowser, имя базы - полный_путь_к_базе\имя_файла_базы (если в папке с приложением, то можно .\имя_файла_базы, пользователь/пароль - SYSDBA/masterkey, хост - не указываем.
P.S. При наличии проблем с запуском, крайне рекомендуется проверить нужные библиотеки Dependency Walker`om.
« Последнее редактирование: Март 01, 2013, 11:44 от Hellraiser » Записан
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 864

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« Ответ #13 : Март 02, 2013, 06:51 »

Спасибо. Выберу время попробую.
ПС. Пишет: "CHARACTER SET WIN1251 is not instaled Unable exec.. query".
Попробую разобраться.
« Последнее редактирование: Март 02, 2013, 07:56 от panAlexey » Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
Странник
Гость
« Ответ #14 : Март 02, 2013, 08:16 »

Спасибо. Выберу время попробую.
ПС. Пишет: "CHARACTER SET WIN1251 is not instaled Unable exec.. query".
Попробую разобраться.
надо думать, не находит fbintl.dll и fbintl.conf. я обычно рядом с exe создаю конфигурационный файл firebird.conf следующего содержания:
Код:
RootDirectory = dirname
в папку dirname помещаю папки intl (internationalization) и udf (user-defied functions) и файл firebird.msg (сообщения сервера) из поставки сервера. если файла firebird.conf нет, папка intl должна лежать рядом с exe.
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


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