mirror of
https://github.com/YACReader/yacreader
synced 2025-05-28 03:10:27 -04:00
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
45 lines
1.1 KiB
C++
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;
|
|
} |