Russian Qt Forum

Qt => Базы данных => Тема начата: Amazing от Декабрь 08, 2008, 14:10



Название: База данных в папке с программой.
Отправлено: Amazing от Декабрь 08, 2008, 14:10
Никогда не занимался программированием программ для работы с базами данных, но много про них слышал и работал с ними (работал с MySQL когда занимался PHP; однажды с другом на ноуте писали прогу на Visual Basic работая с базой данных на сервере - он писал я смотрел  ;D ).

Сейчас хочу написать программу, которая:
1. Работает с базами данных.
2. Файлы с данными хранятся в папке с программой.
3. Данные могут содержать картинки, звуки, тексты, числа... т.е. разные типы данных.
4. База таких данных называется "Коллекция".
3. Коллекциями можно обмениваться с друзьями, чтобы они просматривали их в своих программах.

Меня интересует следующее, можно ли написать описанную выше програму? Если да, то пожалуйста расскажите как!  ::)

p.s. Если можно то приведите код простенькой программы которая добавляет строки (или что-нибудь еще более простое) в базу данных и база сохраняется в файл рядом с программкой и при включении программы сохраненная база ей доступна.
Всего лишь простенький пример, в остальном я разберусь.


Название: Re: База данных в папке с программой.
Отправлено: lit-uriy от Декабрь 08, 2008, 15:20
2 Amazing, посмотри пример "Drill Down Example" (examples\sql\drilldown)


Название: Re: База данных в папке с программой.
Отправлено: Mixolap от Декабрь 08, 2008, 17:08
И для начала еще можно почитать:
http://qt.shamangrad.net/doku.php?id=%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0_%D1%81_%D0%B1%D0%B4._%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%8B%D0%B5_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B8


Название: Re: База данных в папке с программой.
Отправлено: Amazing от Декабрь 09, 2008, 16:21
2 Amazing, посмотри пример "Drill Down Example" (examples\sql\drilldown)
Спасибо за совет, почитал, разобрался, но все-таки это не то... Хотя картинки хранятся в папке в с программой, сами же данные (текстовые, в том числе имена картинок) содержатся в базе данных на сервере (в данном случае сервер sql-должен быть установлен на компьютере) и что хуже того, при загрузке программы данные заносятся в базу самой программой.

И для начала еще можно почитать:
http://qt.shamangrad.net/doku.php?id=работа_с_бд._основные_операции (http://qt.shamangrad.net/doku.php?id=работа_с_бд._основные_операции)
Хотя в приведенной ссылке нет того что мне надо, все равно спасибо!

Что мне надо? А надо мне чтобы данные читались с файла в программе и сохранялись туда при внесении изменений. Есть ли стандартные средства для такой работы с данными, чтобы не заботиться о структуре упомянутого сохраняемого файла?
Не откажусь от примера ;)


Название: Re: База данных в папке с программой.
Отправлено: BRE от Декабрь 09, 2008, 16:49
Используй SQLite. Будет у тебя база в одном файле.
За подробностями в assistant.


Название: Re: База данных в папке с программой.
Отправлено: lit-uriy от Декабрь 09, 2008, 17:15
2 Amazing,
Цитировать
в данном случае сервер sql-должен быть установлен на компьютере
в примере используется SQLite он вкомпиливается в твою программу, и для работы использует специфичную  для данной СУБД базу db.setDatabaseName(":memory:"); т.е. содающуюся в памяти.
Цитировать
и что хуже того, при загрузке программы данные заносятся в базу самой программой.
это связанно только с тем, что БД создается в памяти (для примера этого достаточно)
как сказал BRE, можешь работать только с файлом, если будешь задавать его имя вместо :memory:


Название: Re: База данных в папке с программой.
Отправлено: Amazing от Декабрь 11, 2008, 10:19
2 BRE & lit-uriy
Спасибо, за разъяснение. Наверно я действительно мало знаю про возможности SQL. Уже читаю и разбираюсь :) Просто конкретных примеров давно нигде не могу найти.