yacreader/YACReaderLibrary/db/data_base_management.cpp
Luis Ángel San Martín 9dfa9c5f62 Modificaciones en pictureflow/goto_flow y comic_flow que aumentan la fuidez
Ordenaci?n naturalSorting a?adida a los modelos ?rbol y tabla

Primera versi?n de la actualizaci?n de librer?as basadas en BD (falta realizar bateria de pruebas)

Los di?logos deben ser mostrados antes de lanzar los hilos que los cerrar?n para evitar estados inconsistentes en la GUI
2012-05-27 22:32:46 +02:00

45 lines
1.1 KiB
C++

#include "data_base_management.h"
#include <QtCore>
DataBaseManagement::DataBaseManagement()
:QObject(),dataBasesList()
{
}
TreeModel * DataBaseManagement::newTreeModel(QString path)
{
//la consulta se ejecuta...
QSqlQuery selectQuery(loadDatabase(path));
selectQuery.setForwardOnly(true);
selectQuery.exec("select * from folder order by parentId,name");
return new TreeModel(selectQuery);
}
QSqlDatabase DataBaseManagement::createDatabase(QString name, QString path)
{
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName(QDir::cleanPath(path) + "/" + name + ".ydb");
if (!db.open())
qDebug() << db.lastError();
else {
qDebug() << db.tables();
db.close();
}
return db;
}
QSqlDatabase DataBaseManagement::loadDatabase(QString path)
{
//TODO check path
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName(path+"/library.ydb");
if (!db.open()) {
//se devuelve una base de datos vacía e inválida
return QSqlDatabase();
}
//devuelve la base de datos
return db;
}