QSqlDatabase не открывается

Я не могу понять, что я делаю здесь неправильно. Я использую Qt 5.7.1 и код выглядит следующим образом:

    QString filePath = QCoreApplication::applicationDirPath();
    QString dbPath = QDir(filePath).absoluteFilePath("../../../Database");

    m_db = QSqlDatabase::addDatabase("QSQLITE", "user_connection");
    m_db.setDatabaseName(dbPath + "/Sensor_Objects.db");

    qDebug() << filePath << " & " << dbPath;

    if (!m_db.open())
       qDebug() << "Database Error: " + m_db.lastError().text();
    else
    {
       qDebug() << "Database: connection ok";
        createDatabase("Sensor_Objects");
        m_db.close();
    }

qDebug () правильно печатает пути к каталогам, но m_db.open() завершается с ошибкой "Ошибка базы данных: недостаточно памяти Ошибка открытия базы данных".

1 ответ

Возможно, дело в dbpath, попробуйте с

m_db.setDatabaseName(dbPath.toLatin1() + "/Sensor_Objects.db");
Другие вопросы по тегам