GF
9 мая 2019 г. 7:30

QSQLITE

QSqlDataBase

Здравствуйте, довольно продолжительное время пользуюсь QSQLITE и все работало, после перехода на версию 5.11.2 драйвер перестал работать на других машинах, несмотря на то что там тоже стояла та же самая среда. Сборку DLL выполняю DLLCollector-X32. Сделал небольшое отладочное консольное приложение - выдает что драйвер загружается, сборка работает только там где была собрана, в другой системе с той же разрядностью уже пишет что драйвер не загружен при наличии всех необходимых DLL, список драйверов так же не выдает.

В чем может быть проблема?

С уважением, Константин.

#include <QCoreApplication>
#include <QSqlDatabase>
#include <QSqlRecord>
#include <QSqlQuery>
#include <QDebug>
#include <QSqlError>
#include <QLibrary>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
#ifdef Q_OS_WIN
    QStringList paths = QCoreApplication::libraryPaths();
    paths.append(".");
    paths.append("imageformats");
    paths.append("platforms");
    paths.append("sqldrivers");
    paths.append("styles");
    QCoreApplication::setLibraryPaths(paths);
#endif
    qDebug() << "my library path : " << a.libraryPaths();
    QLibrary sqlib("Qt5Sql.dll");
    sqlib.load();
    qDebug() << "my library loaded" << sqlib.isLoaded();
    QSqlDatabase sdb = QSqlDatabase::addDatabase("QSQLITE", "SQLITE");
    qDebug() << QSqlDatabase::drivers();
    sdb.setHostName("localhost");
    sdb.setDatabaseName("db.db3");
    qDebug() << sdb.lastError().text();
    if(!sdb.open()) qDebug() << sdb.lastError().text();
    sdb.close();
    return a.exec();
}

Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.
4

Добрый день!

У не пробовали перейти сразу на Qt 5.12? Просто описание проблемы выглядит как баг, возможно, что это можно будет обойти просто переходом на более новую версию.

Или есть какие-то определённые предпосылки для использования версии Qt 5.11?

GF

Орпделенных предпосылок нет кроме того что в этой версии еще есть компилятор mingw32, в 5.12 и старше уже только msvc64.

GF

Странно выглядит то, что даже версия 5.4.1 с которой я переходил ведет себя также, проблема началась с июля 2018 года.

Ставьте 5,13, там есть mingw 32 и 64

Комментарии

Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
Как стать автором?

Внесите вклад в развитие сообщества EVILEG.

Узнайте, как стать автором сайта.

Изучить
Donate

Добрый день, Дорогие Пользователи !!!

Я Евгений Легоцкой, разработчик EVILEG. И это мой хобби-проект, который помогает учиться программированию другим программистам и разработчикам

Если сайт помог вам, и вы хотите также поддержать развитие сайта, то вы можете сделать пожертвование следующими способами

PayPalYandex.Money
Timeweb

Позвольте мне порекомендовать вам отличный хостинг, на котором расположен EVILEG.

В течение многих лет Timeweb доказывает свою стабильность.

Для проектов на Django рекомендую VDS хостинг

Посмотреть Хостинг Timeweb
АС
26 мая 2020 г. 12:29
Артём Сун-Дун-Чан

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат:50баллов,
  • Очки рейтинга-4
МН
25 мая 2020 г. 12:33
Митя Нагибин

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат:50баллов,
  • Очки рейтинга-4
f
25 мая 2020 г. 6:05
falcon

C++ - Тест 001. Первая программа и типы данных

  • Результат:66баллов,
  • Очки рейтинга-1
Последние комментарии
28 мая 2020 г. 16:14
Евгений Легоцкой

Qt/C++ - Урок 039. Как закрасить строку в QSqlTableModel по значению в столбце

Ну в моём примере, который в статье сработало так model->setData(model->index(1, 1), 7); Поскольку model->index(1, 0) - это индекс колонки id, которая скрыта, поэтому…
МА
28 мая 2020 г. 16:08
Михаил А

Qt/C++ - Урок 039. Как закрасить строку в QSqlTableModel по значению в столбце

Спасибо, завтра првоерю. А model->setData(model->index(1, 0), 7); Тоже заработало?
28 мая 2020 г. 16:06
Евгений Легоцкой

Qt/C++ - Урок 039. Как закрасить строку в QSqlTableModel по значению в столбце

Да, метод data всё-таки влиял, я переписал его так и заработало удаление QVariant TableModel::data(const QModelIndex &idx, int role) const{ if (role == Qt::BackgroundColorRole) {…
28 мая 2020 г. 15:49
Евгений Легоцкой

Django - Урок 011. Добавление комментариев на сайт с Django

Он более функциональный и его функционал объективно лучше поддерживается Django. Из первого, что приходит на ум: Это наличие полей типа Array Поддержка полей для JSON …
28 мая 2020 г. 15:42
progammist

Django - Урок 011. Добавление комментариев на сайт с Django

а в чем явное преимущество postgresql над mysql?)
Сейчас обсуждают на форуме
RG
28 мая 2020 г. 19:21
Rovshan Gurbanov

Сборка под старые версии Android

У меня SDK почти все версии есть, NDK есть версии 10, 17, 21. Но собирается приложение только с NDK v21 под Android версии 7.0 и выше Версия Qt у меня 5.14.2
28 мая 2020 г. 8:58
Евгений Легоцкой

Освобождение памяти QMainWindow::setCentralWidget

Да, соглашусь. Просто удаление происходит позже, а не сразу.
28 мая 2020 г. 6:43
Михаиллл

При подключении к git как указать пароль?

Нужно сделать ssh-keygen и потом полученый из файла код скопировать в ssh ключ в бикбакете
F
28 мая 2020 г. 2:42
Fidan

QML

Да, проблема ушла, спасибо.
1 мая 2020 г. 9:19
Михаиллл

Как в Qt в qmenu добавить scrollarea

Вот это наследованный класс меню. Но посути это обычное меню. #pragma once#include <QtWidgets>class TransMenu : public QMenu { Q_OBJECTpublic: TransMenu(QWidget* parent = …
О нас
Услуги
© EVILEG 2015-2020
Рекомендует хостинг TIMEWEB