Russian Qt Forum

Qt => Базы данных => Тема начата: Я.К. от Февраль 17, 2009, 19:19



Название: SQL сервер, встроенный в приложение
Отправлено: Я.К. от Февраль 17, 2009, 19:19
Вопрос такой: я в общих чертах знаю, как работать с базой данных в клиентском режиме. Посоветуйте, пожалуйста, какую-нибудь базу данных, которую можно встроить прямо в приложение, чтобы не нужно было устанавливать ничего лишнего.


Название: Re: SQL сервер, встроенный в приложение
Отправлено: BRE от Февраль 17, 2009, 19:29
Вопрос такой: я в общих чертах знаю, как работать с базой данных в клиентском режиме. Посоветуйте, пожалуйста, какую-нибудь базу данных, которую можно встроить прямо в приложение, чтобы не нужно было устанавливать ничего лишнего.
SQLite.


Название: Re: SQL сервер, встроенный в приложение
Отправлено: ритт от Февраль 17, 2009, 19:29
sqlite.org :)
по умолчанию уже встроена в QtSql


Название: Re: SQL сервер, встроенный в приложение
Отправлено: Я.К. от Февраль 18, 2009, 15:47
А как эксортировать базу на диск/импортировать её обратно?


Название: Re: SQL сервер, встроенный в приложение
Отправлено: ритт от Февраль 18, 2009, 16:36
эксортировать/импортировать откуда/куда?
посмотри стандартные примеры кутэ по скл...


Название: Re: SQL сервер, встроенный в приложение
Отправлено: lit-uriy от Февраль 18, 2009, 16:38
2 Я.К., импорт/экспорт нужен, если я ничего не путаю, только для стационарных СУБД, например Оракл. Для FireBird'а есть просто файл, копируй его и все (если конечно он не находится в использовании)


Название: Re: SQL сервер, встроенный в приложение
Отправлено: Я.К. от Февраль 18, 2009, 17:47
эксортировать/импортировать откуда/куда?
посмотри стандартные примеры кутэ по скл...

Допустим, есть одна база данных, встроенный QSQLITE, как в примерах. Как каким-либо образом утрамбовать её содержимое в в файл/достать оттуда?
Кстати, а как переключаться между базами данных? Я пробовал QSqlQquery(запрос, имя базы данных).exec(), но оно не работало. Кто знает и умеет?


Название: Re: SQL сервер, встроенный в приложение
Отправлено: ритт от Февраль 18, 2009, 17:58
база данных sqlite и так в файле.

по-моему, переключится между бд таким образом не получится.
кстати, QSqlQquery(_запрос_).exec() выполнит _запрос_ дважды


Название: Re: SQL сервер, встроенный в приложение
Отправлено: Karl-Philipp от Февраль 18, 2009, 18:05
эксортировать/импортировать откуда/куда?
посмотри стандартные примеры кутэ по скл...

Допустим, есть одна база данных, встроенный QSQLITE, как в примерах. Как каким-либо образом утрамбовать её содержимое в в файл/достать оттуда?
Кстати, а как переключаться между базами данных? Я пробовал QSqlQquery(запрос, имя базы данных).exec(), но оно не работало. Кто знает и умеет?

1. В примерах из Qt база данных создаётся в памяти. Обратите внимание, что при использовании setDatabaseName (в примерах Qt) в качестве аргумента указывается ":memory:". Пропишите имя файла (существующего/создаваемого вновь).
Для sqlite база данных хранится в одном файле.
2. Как переключаться? Oбъявляете переменную QSqlDatabase и используете метод setDatabaseName() для подключения к нужной базе.
Или я чего-то не понял?  :)