mirror of
https://github.com/YACReader/yacreader
synced 2025-07-18 21:14:33 -04:00
a?adido el codigo del tree model
modificada la funci?n de creaci?n de la base de datos (se crea la estructura de directorios, los c?mics y comic_info) falta determinar qu? informaci?n habr? finalmente en la BD y tratar adecuadamente los errores adem?s habr?a que mover el c?digo relacionado con la base de datos a la clase DataBaseManagement.
This commit is contained in:
52
YACReaderLibrary/db/data_base_management.cpp
Normal file
52
YACReaderLibrary/db/data_base_management.cpp
Normal file
@ -0,0 +1,52 @@
|
||||
#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);
|
||||
if (!db.open()) {
|
||||
/*QMessageBox::critical( 0, QObject::tr("Cannot open database"),
|
||||
QObject::tr("Unable to establish a database connection.\n"
|
||||
"This example needs SQLite support. Please read "
|
||||
"the Qt SQL driver documentation for information how "
|
||||
"to build it.\n\n"
|
||||
"Click Cancel to exit."), QMessageBox::Cancel);*/
|
||||
|
||||
//se devuelve una base de datos vac<61>a e inv<6E>lida
|
||||
return QSqlDatabase();
|
||||
}
|
||||
|
||||
//devuelve la base de datos
|
||||
return db;
|
||||
}
|
Reference in New Issue
Block a user