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");