checkValidDB ahora cierra adecuadamente la base de datos despu?s de comprobar la

versi?n
This commit is contained in:
Luis Ángel San Martín 2012-07-30 18:06:25 +02:00
parent a1f5eb08b1
commit 221cba826e

View File

@ -487,31 +487,20 @@ void DataBaseManagement::bindInt(const QString & name, const QSqlRecord & record
QString DataBaseManagement::checkValidDB(const QString & fullPath) QString DataBaseManagement::checkValidDB(const QString & fullPath)
{ {
QSqlDatabase db = loadDatabaseFromFile(fullPath); QSqlDatabase db = loadDatabaseFromFile(fullPath);
QString versionString = "";
if(db.isValid() && db.isOpen()) if(db.isValid() && db.isOpen())
{ {
QSqlQuery version(db); QSqlQuery version(db);
version.prepare("SELECT * FROM db_info"); version.prepare("SELECT * FROM db_info");
version.exec(); version.exec();
if(version.next()) if(version.next())
{ versionString = version.record().value("version").toString();
db.close();
QSqlDatabase::removeDatabase(fullPath);
return version.record().value("version").toString();
}
else
{
db.close();
QSqlDatabase::removeDatabase(fullPath);
return "";
} }
}
else
{
db.close(); db.close();
QSqlDatabase::removeDatabase(fullPath); QSqlDatabase::removeDatabase(fullPath);
return ""; return versionString;
}
} }
int DataBaseManagement::compareVersions(const QString & v1, const QString v2) int DataBaseManagement::compareVersions(const QString & v1, const QString v2)