Qt 4 и базы данных
Модератор: Модераторы разделов
-
- Сообщения: 298
- ОС: Debian 8.0 Jessie
Qt 4 и базы данных
Хочу написать программу для работы с базой данных mdb, или FireBird, SQL.
Но не знаю как установить и настроить драйвера для работы с этими базами. И какие библиотеки для этого вообще нужно ставить.
В общем проблема сводится к тому, что примеры кода для работы с базами есть. А как начать с ними работать не знаю.
У меня Debian lenny, GNOME.
Наведите пожалуйста на путь истинный.
Но не знаю как установить и настроить драйвера для работы с этими базами. И какие библиотеки для этого вообще нужно ставить.
В общем проблема сводится к тому, что примеры кода для работы с базами есть. А как начать с ними работать не знаю.
У меня Debian lenny, GNOME.
Наведите пожалуйста на путь истинный.
-
- Сообщения: 1445
- ОС: Debian Squeeze
Re: Qt 4 и базы данных
MS Access? Вряд ли чем-нибудь поддерживается.
AFAIK поддерживается Qt4, но в некоторых дистрибутивах libqt4-sql собран без поддержки Firebird, так что могут возникнуть проблемы.
Это язык для составления запросов, а не СУБД.
-
- Сообщения: 362
- Статус: Ad Astra per aspera
- ОС: openSUSE 11.4, Arch
Re: Qt 4 и базы данных
я где-то читал, что через ODBC можно, но не уверен, что это именно про акцессовские базы
No problems - just solutions!
-
- Модератор
- Сообщения: 1786
- Статус: Матёрый линуксоид
- ОС: Debian testing/unstable
Re: Qt 4 и базы данных
Через odbc - это под виндами, при наличии установленного ms access.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
-
- Сообщения: 3408
- Статус: аватар-невидимка
- ОС: openSUSE Tumbleweed x86_64
Re: Qt 4 и базы данных
А насколько эти условия жёсткие? Просто вместо Access MDB можно взять SQLite, где-то одно на другое. Или полноценное MySQL. И кроссплатформенно.
-
- Сообщения: 298
- ОС: Debian 8.0 Jessie
Re: Qt 4 и базы данных
Можно и SQLite. Что для этого требуется установить/настроить?
-
- Сообщения: 1923
-
- Сообщения: 862
- Статус: Адепт Дзен.
- ОС: Mint, Win7.
Re: Qt 4 и базы данных
http://www.easysoft.com/developer/interfaces/odbc/linux.html
http://www.easysoft.com/products/data_acce...iver/index.html
1. Скомпилить драйвер Qt для соответствующей СУБД/БД , если он не собран.
2. Если будешь использовать ODBC, то в настройках ODBC нужно создать источник баз данных, а из Qt обращаться к источнику.
3. Смотри в Qt Demo: SQL и Demonstration> SQL Browser. Там ODBC, SQLlite.
4. Если выберешь MySQL, то придется его настраивать.
Desipere in loco
-
- Сообщения: 3408
- Статус: аватар-невидимка
- ОС: openSUSE Tumbleweed x86_64
Re: Qt 4 и базы данных
http://doc.trolltech.com/4.6/sql-driver.ht...ion-3-and-above - вот SQLite под Qt4
Для Вашей системы, я так понимаю вот этот пакет, чтобы не мучаться: http://packages.debian.org/uk/lenny/libqt4-sql-sqlite
Для Вашей системы, я так понимаю вот этот пакет, чтобы не мучаться: http://packages.debian.org/uk/lenny/libqt4-sql-sqlite
-
- Сообщения: 2493
- ОС: SuseLinux 11.2 KDE 4.3
Re: Qt 4 и базы данных
SQLite обычно по умолчанию уже собран, для firebird драйвер нужно будет собрать
-
- Сообщения: 187
- ОС: openSUSE 11.2
Re: Qt 4 и базы данных
а на чем писать-то? есть jdbc, к примеру

Попытка - первый шаг к провалу (с) Гомер
-
- Сообщения: 349
- Статус: Ламер со стажем
- ОС: без глюков
Re: Qt 4 и базы данных
На лазарусе есть средства работы с базами. Или паскаль не катит? Кстати, все будет кросплатформенно (вернее почти).
Пессимист видит темный туннель, оптимист видит свет в конце туннеля, реалист видит свет, туннель и поезд.
И только машинист видит этих трех идиотов, сидящих на рельсах.
И только машинист видит этих трех идиотов, сидящих на рельсах.
-
- Сообщения: 3408
- Статус: аватар-невидимка
- ОС: openSUSE Tumbleweed x86_64
Re: Qt 4 и базы данных
Что-то не понял... Вроде спросили о Qt4, значит C++, можно и другие к чему привязка есть... Зачем явы, паскали всякие? Бррр....
-
- Сообщения: 298
- ОС: Debian 8.0 Jessie
Re: Qt 4 и базы данных
NickLion писал(а): ↑20.12.2009 23:39http://doc.trolltech.com/4.6/sql-driver.ht...ion-3-and-above - вот SQLite под Qt4
Для Вашей системы, я так понимаю вот этот пакет, чтобы не мучаться: http://packages.debian.org/uk/lenny/libqt4-sql-sqlite
Так, понятно. Библиотека libtq4-sql-sqlite уже стоит. Теперь нужно создать базу. Для этого нужно установить сервер БД?
-
- Сообщения: 862
- Статус: Адепт Дзен.
- ОС: Mint, Win7.
Re: Qt 4 и базы данных
Не сервер БД, а СУБД. SQLlite встроенная система, все хранит в одном файле, работа с бд осуществляется через API.
Взято из examples по Qt.
Как понимаю создали БД.
Создали и заполнили одну таблицу
создали и заполнили другую таблицу
Взято из examples по Qt.
Код: Выделить всё
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName(":memory:");
if (!db.open()) {
QMessageBox::critical(0, tr("Cannot open database"),
tr("Unable to establish a database connection.\n"
"This example needs SQLite support. Please read "
"the Qt SQL driver documentation for information how "
"to build it."), QMessageBox::Cancel);
return;
}
Как понимаю создали БД.
Создали и заполнили одну таблицу
Код: Выделить всё
QSqlQuery query;
query.exec("create table person (id int primary key, "
"name varchar(20), address varchar(200), typeid int)");
query.exec("insert into person values(1, 'Alice', "
"'<qt>123 Main Street<br/>Market Town</qt>', 101)");
query.exec("insert into person values(2, 'Bob', "
"'<qt>PO Box 32<br/>Mail Handling Service"
"<br/>Service City</qt>', 102)");
query.exec("insert into person values(3, 'Carol', "
"'<qt>The Lighthouse<br/>Remote Island</qt>', 103)");
query.exec("insert into person values(4, 'Donald', "
"'<qt>47338 Park Avenue<br/>Big City</qt>', 101)");
query.exec("insert into person values(5, 'Emma', "
"'<qt>Research Station<br/>Base Camp<br/>"
"Big Mountain</qt>', 103)");
создали и заполнили другую таблицу
Код: Выделить всё
query.exec("create table addresstype (id int, description varchar(20))");
query.exec("insert into addresstype values(101, 'Home')");
query.exec("insert into addresstype values(102, 'Work')");
query.exec("insert into addresstype values(103, 'Other')");
Desipere in loco
-
- Сообщения: 2493
- ОС: SuseLinux 11.2 KDE 4.3
Re: Qt 4 и базы данных
мож тогда лучше в делфи писать, если не осилили работу с базами в QT?
не потрудитесь прочитать доку. И определитесь какая Вам нужна СУБД, однопользовательская или многопользовательская? надо сначала определиться с СУБД, а потом уже с компонентами доступа