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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: qt + sqlite  (Прочитано 13134 раз)
gelo
Гость
« : Ноябрь 25, 2006, 10:19 »

Мог бы кто дать пример использования qt вместе с sqlite? Не знаю как начать Грустный
Записан
Tonal
Гость
« Ответ #1 : Ноябрь 25, 2006, 13:06 »

$(QTDIR)/demos/sqlbrowser
$(QTDIR)/examples/sql
Записан
gelo
Гость
« Ответ #2 : Ноябрь 25, 2006, 13:19 »

И еще один момент. Никак не получается собрать драйвер и плагин для sqlite. Использую opensource версию, но собираю ее под VS2005. Все собралось без проблем, но в дирректории plugins нет sqldrivers Грустный
Записан
Dendy
Гость
« Ответ #3 : Ноябрь 25, 2006, 19:24 »

Он линкуется статически в QtSql модуль (по умолчанию). Поиск по драйверам сначала происходит по статическим плагинам, а потом только по динамическим. Так что должно всё работать и так.
Записан
gelo
Гость
« Ответ #4 : Ноябрь 25, 2006, 23:20 »

Что-то не получается Грустный
Попробовал следующий пример:

QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName(":memory:");
db.open();

open() возвращает false
Записан
Dendy
Гость
« Ответ #5 : Ноябрь 26, 2006, 00:01 »

Пишет ли при

Код:
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");


ошибку в output?
Записан
gelo
Гость
« Ответ #6 : Ноябрь 26, 2006, 00:06 »

не знаю. Консоль то не видна.
Записан
Dendy
Гость
« Ответ #7 : Ноябрь 26, 2006, 00:36 »

Так включить консоль:
CONFIG += console
Записан
gelo
Гость
« Ответ #8 : Ноябрь 26, 2006, 22:13 »

Пишет:
QSqlDatabase: QSQLITE driver not loaded
QSqlDatabase: available drivers:
Записан
C.H.
Гость
« Ответ #9 : Ноябрь 27, 2006, 22:16 »

у тебя QT как-то криво собрана, у меня все работает хорошо.
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("memory");
db.open();
Записан
Dendy
Гость
« Ответ #10 : Ноябрь 27, 2006, 23:32 »

Немного не так.

Код:
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); 
db.setDatabaseName(":memory:");
db.open();


Но ругаться должно уже на первой строчке. СамьІй простой способ проверить влинкована ли Lite статически - посмотреть включён ли макрос:

Код:
#ifdef QT_SQL_SQLITE
SQLITE is static linked into QtSql
#endif
Записан
gelo
Гость
« Ответ #11 : Ноябрь 27, 2006, 23:57 »

Странно. В release все работает, а в debug net. Хотя пересобрал qt по новой.

добавлено спустя 4 минуты:

 #ifdef QT_SQL_SQLITE
дает TRUE
Записан
Dendy
Гость
« Ответ #12 : Ноябрь 28, 2006, 12:02 »

В debug дебажишь внутрь кода и смотришь почему именно не работает.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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