Название: Хранение данных Отправлено: brucemax от Февраля 27, 2013, 12:30 Ребят, подскажите как лучше хранить данные. Оные представляют из себя список рецептов, рецепт это набор компонент, их плотность, вес на кг продукта и источник (число). Рецепты должны добавляться\удаляться и редактироваться. Взгляд у меня бросается на JSON, сталкивался с ним в андроиде. Но я так понял вcтроенного механизма для работы с ним в Qt нет, и придётся подключать библиотечку, например http://habrahabr.ru/post/147952/ (http://habrahabr.ru/post/147952/). Или лучше разбираться с xml?
Название: Re: Хранение данных Отправлено: GreatSnake от Февраля 27, 2013, 12:35 С каких это пор xml и json стал средством хранения динамических данных ???
Название: Re: Хранение данных Отправлено: Bepec от Февраля 27, 2013, 12:38 Я б как энтузиаст предложил sqlite :)
Название: Re: Хранение данных Отправлено: brucemax от Февраля 27, 2013, 12:41 С каких это пор xml и json стал средством хранения динамических данных ??? Да.. сглупилНазвание: Re: Хранение данных Отправлено: brucemax от Февраля 27, 2013, 12:42 Я б как энтуазист предложил sqlite :) Вариант! Спасибо!Название: Re: Хранение данных Отправлено: panAlexey от Февраля 27, 2013, 13:37 Я б как энтузиаст предложил sqlite :) А я бы предложил fireberd.Что мне одному с её подключением мучиться? ))) Имелось ввиду эмбедеддд.. Название: Re: Хранение данных Отправлено: Странник от Февраля 27, 2013, 23:51 А я бы предложил fireberd. что там мучиться, всей любви на 15 минут. вот только средствами Qt базу Firebird создать не получится - либо тащить готовый файл, либо использовать родной API. на мой взгляд, для простых баз достаточно SQLITE - с ним мороки меньше.Что мне одному с её подключением мучиться? ))) Имелось ввиду эмбедеддд.. Название: Re: Хранение данных Отправлено: panAlexey от Февраля 28, 2013, 02:34 А я бы предложил fireberd. что там мучиться, всей любви на 15 минут. вот только средствами Qt базу Firebird создать не получится - либо тащить готовый файл, либо использовать родной API. на мой взгляд, для простых баз достаточно SQLITE - с ним мороки меньше.Что мне одному с её подключением мучиться? ))) Имелось ввиду эмбедеддд.. делал по этому мануалу (http://dou.ua/lenta/articles/get-started-with-qt-and-embedded-firebird/). Название: Re: Хранение данных Отправлено: Странник от Февраля 28, 2013, 12:32 У маня пока не получилось собрать с эмбедед. технически, плагин собирается с полной версией. это при запуске вы можете ему вместо оригинальной библиотеки fbclient.dll версию с встроенным сервером fbembed.dll подсунуть - интерфейсы совместимы. у вас именно плагин не собирается или подключиться не удается?делал по этому мануалу (http://dou.ua/lenta/articles/get-started-with-qt-and-embedded-firebird/). Название: Re: Хранение данных Отправлено: panAlexey от Февраля 28, 2013, 13:48 НЕ смог подключиться пока сервер не запустил.
Но мне сервак не нужен, мне нужна было именно эмбедед версия. Я еще покопаю конечно, если что поспрашиваю. Название: Re: Хранение данных Отправлено: Hellraiser от Февраля 28, 2013, 14:11 Если не ошибаюсь, при использовании эмбед версии dll, поставляемую с ней, необходимо переименовать в fbclient.dll. Подключиться возможно только к локальному ресурсу, т.е. по указанию пути к базе.
Название: Re: Хранение данных Отправлено: panAlexey от Марта 01, 2013, 10:09 Если не ошибаюсь, при использовании эмбед версии dll, поставляемую с ней, необходимо переименовать в fbclient.dll. Подключиться возможно только к локальному ресурсу, т.е. по указанию пути к базе. Мне бы хотя бы мини-проект с подключением. Пока на нашел.Название: Re: Хранение данных Отправлено: Hellraiser от Марта 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, пишем следующее Код 3. Убеждаемся в появлении требуемых плагинов в QTDIR\plugins\sqldrivers 4. Распаковать скачанный от разрабов архив эмбеддеда (win32, zip) в папку со своей прогой (sqlbrowser). Переименовать fbembed.dll в fbclient.dll. Запускаем sqlbrowser, имя базы - полный_путь_к_базе\имя_файла_базы (если в папке с приложением, то можно .\имя_файла_базы, пользователь/пароль - SYSDBA/masterkey, хост - не указываем. P.S. При наличии проблем с запуском, крайне рекомендуется проверить нужные библиотеки Dependency Walker`om. Название: Re: Хранение данных Отправлено: panAlexey от Марта 02, 2013, 06:51 Спасибо. Выберу время попробую.
ПС. Пишет: "CHARACTER SET WIN1251 is not instaled Unable exec.. query". Попробую разобраться. Название: Re: Хранение данных Отправлено: Странник от Марта 02, 2013, 08:16 Спасибо. Выберу время попробую. надо думать, не находит fbintl.dll и fbintl.conf. я обычно рядом с exe создаю конфигурационный файл firebird.conf следующего содержания:ПС. Пишет: "CHARACTER SET WIN1251 is not instaled Unable exec.. query". Попробую разобраться. Код: RootDirectory = dirname Название: Re: Хранение данных Отправлено: panAlexey от Марта 02, 2013, 09:09 Спасибо за помощь, я только разбираюсь с FB.
Название: Re: Хранение данных Отправлено: panAlexey от Марта 02, 2013, 15:07 ц Спасибо, помогло.надо думать, не находит fbintl.dll и fbintl.conf. я обычно рядом с exe создаю конфигурационный файл firebird.conf следующего содержания: Код: RootDirectory = dirname Даже пересобрал дрова на 4.7.3 под мингву с под пинка.. (ранше было 4.8.4). |