У меня есть следующий код. Приложение аварийно завершает работу, когда я присваиваю результат запроса переменной класса / объекта. Вылетает только тогда, когда я назначаю переменную класса / объекта. Когда я удаляю назначение, я вижу из qDebug()
ожидаемого результата запроса QString
type.
Нет предупреждения или выделения компилятором. Как я могу присвоить результат запроса переменной класса / объекта?
bool UpDateSRPDatabase::checkVersions(QString driver, QString dbPath,
QString softwareVersion )
{
const QString getDatabaseVersion="SELECT value FROM Configuration";
QString dbVersion;
db = QSqlDatabase::addDatabase(driver);//
db.setDatabaseName(dbPath);
qDebug()<<"Data base is :"<<dbPath;
if( db.open())
{
QSqlQuery query(getDatabaseVersion, db);
query.exec();
while (query.next())
{
dbVersion = query.value(0).toString();
qDebug()<<"Database version is: "<<dbVersion;
qDebug()<<"softwareVersion is: "<<softwareVersion;
}
db.close();
}
this->_dbVersion=dbVersion; //Crashes here
if(dbVersion==softwareVersion)
{
return true;
}
return false;
}