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:
Luis Ángel San Martín
2012-05-24 17:10:28 +02:00
parent 51a0f1b458
commit 3533a9ec64
10 changed files with 1013 additions and 352 deletions

View 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;
}