crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в QSqlDatabase: QSQLITE driver not loaded
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Tonal Дата 27.5.2008, 7:13
  Всё зависит от того, нужна ли тебе обработка сигналов и событий.
Если нет - то твоё решение вполне годится.
Если нужна - пускай app.exec() и по окончанию обработки зови app.quit() или QCoreApplication::exit(int)
Litkevich Yuriy Дата 25.5.2008, 20:50
  Кое-что прояснилось, QAplication-то я удалил, а замены ему не сделал, теперь так:
#include <QCoreApplication>
...
int main(int argc, char *argv[])
{
    ...
    QCoreApplication app(argc, argv);
    ...
    return app.exec();
}

Но так программа сама не завершается, приходится <Ctrl>+<C> нажимать, я вот попробовал последнюю строку сделать так:
return 0;,
все работает и программа сама завершается, но помоему это не корректно. Т.е. app.exec() не вызывается.
Litkevich Yuriy Дата 25.5.2008, 18:56
  Я в main() прибил QAplication, т.к. приложение консольное, и вроде так правильно. У меня пока идей ни каких не появилось.
Вот архивчик с проектом на всякий случай:Прикрепленный файл  rtt_tool_2.zip ( 3.26 килобайт ) Кол-во скачиваний: 245
Litkevich Yuriy Дата 25.5.2008, 15:44
  Вообще у меня работают проги с этой базой, но они с графическим интерфейсом. А эта консольная - не хотит :(
ViGOur Дата 25.5.2008, 15:40
  А ты уверен, что у тебя установлена поддержка QSQLITE?

Проверь в SQL Browser, который находится в %QTDIR%/demos/sqlbrowser/. При запуске там предлагаются варианты на данный момент поддерживаемых твоей оибой БД.

p.s. Как с компилил, так и работает. :)
Litkevich Yuriy Дата 25.5.2008, 14:13
  Делаю консольное приложение, работающее с БД, непойму как добится полноценной работы с БД. При инициализации БД (QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");) на консоль выводится ошибка:
QSqlDatabase: QSQLITE driver not loaded
Файл test.pro:
TEMPLATE = app
TARGET = tsreader
DEPENDPATH += .
INCLUDEPATH += .
CONFIG += console
QT += xml sql core
QT -=  gui
HEADERS += tsreader.h dbconnect.h ticket.h
SOURCES += main.cpp
Файл dbconnect.h:
#include <QtSql>
#include <QSqlDatabase>
#include <QSqlError>
#include <QSqlQuery>
#include <QString>
#include <QDebug>



//=====================================================
//        Установим соединение с БД
//=====================================================
bool OpenDb(QString dbname)
{
  bool ok;
  
    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName(dbname);
    ok = db.open();
    qDebug() << db << "\n\r";
    if (!ok)
    {
        qDebug() << "OpenDb: " << db.lastError().text() << "\n\r";
    }
    return ok;
}

Что упустил, может кто-нибудь увидит?
Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 10.7.2025, 3:40