crossplatform.ru

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

Litkevich Yuriy
  опции профиля:
сообщение 25.5.2008, 14:13
Сообщение #1


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Делаю консольное приложение, работающее с БД, непойму как добится полноценной работы с БД. При инициализации БД (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;
}

Что упустил, может кто-нибудь увидит?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 25.5.2008, 20:50
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Кое-что прояснилось, QAplication-то я удалил, а замены ему не сделал, теперь так:
#include <QCoreApplication>
...
int main(int argc, char *argv[])
{
    ...
    QCoreApplication app(argc, argv);
    ...
    return app.exec();
}

Но так программа сама не завершается, приходится <Ctrl>+<C> нажимать, я вот попробовал последнюю строку сделать так:
return 0;,
все работает и программа сама завершается, но помоему это не корректно. Т.е. app.exec() не вызывается.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 12.7.2025, 3:15