A?adida un mejor gesti?n de los errores al manejar las bases de datos

This commit is contained in:
Luis Ángel San Martín
2013-05-24 16:31:17 +02:00
parent df08b6e4d2
commit b1e03d015d
4 changed files with 58 additions and 74 deletions

View File

@ -69,10 +69,15 @@ void LibraryCreator::run()
//se crea la base de datos .yacreaderlibrary/library.ydb
_database = DataBaseManagement::createDatabase("library",_target);//
/*if(!_database.open())
return; //TODO avisar del problema
if(!_database.isOpen())
{
emit failedCreatingDB(_database.lastError().databaseText() + "-" + _database.lastError().driverText());
emit finished();
creation = false;
return;
}
QSqlQuery pragma("PRAGMA foreign_keys = ON",_database);*/
/*QSqlQuery pragma("PRAGMA foreign_keys = ON",_database);*/
_database.transaction();
//se crea la librer<65>a
create(QDir(_source));
@ -87,8 +92,13 @@ void LibraryCreator::run()
_currentPathFolders.append(Folder(1,1,"root","/"));
_database = DataBaseManagement::loadDatabase(_target);
//_database.setDatabaseName(_target+"/library.ydb");
/*if(!_database.open())
return; //TODO avisar del problema*/
if(!_database.open())
{
emit failedOpeningDB(_database.lastError().databaseText() + "-" + _database.lastError().driverText());
emit finished();
creation = false;
return;
}
//QSqlQuery pragma("PRAGMA foreign_keys = ON",_database);
_database.transaction();
update(QDir(_source));
@ -101,7 +111,7 @@ void LibraryCreator::run()
else
emit(created());
}
msleep(100);//TODO try to solve the problem with the udpate dialog
msleep(100);//TODO try to solve the problem with the udpate dialog (ya no se usa m<>s...)
emit(finished());
creation = false;
}