a?adidos los campos de comic_info a la base de datos y a la clase comic_info

(falta por a?adir numero de p?ginas, alguno mas?)
This commit is contained in:
Luis Ángel San Martín
2012-06-21 23:29:24 +02:00
parent cd2b9f798a
commit 6b7ee49e64
6 changed files with 216 additions and 39 deletions

View File

@ -166,17 +166,51 @@ bool ComicInfo::load(QString hash, QSqlDatabase & db)
{
QSqlRecord record = findComicInfo.record();
this->hash = hash;
this->id = record.value("id").toLongLong();
this->title = record.value("title").toString();
this->read = record.value("read").toBool();
this->edited = record.value("edited").toBool();
existOnDb = true;
return true;
hash = hash;
id = record.value("id").toLongLong();
read = record.value("read").toBool();
edited = record.value("edited").toBool();
title = record.value("title").toString();
pages = record.value("pages").toInt();
coverPage = record.value("coverPage").toInt();
if(!record.value("number").isNull())
number = record.value("number").toInt();
else
number = -1;
isBis = record.value("isBis").toBool();
count = record.value("count").toInt();
volume = record.value("volume").toString();
storyArc = record.value("storyArc").toString();
arcNumber = record.value("arcNumber").toInt();
arcCount = record.value("arcCount").toInt();
genere = record.value("genere").toString();
writer = record.value("writer").toString();
penciller = record.value("penciller").toString();
inker = record.value("inker").toString();
colorist = record.value("colorist").toString();
letterer = record.value("letterer").toString();
coverArtist = record.value("coverArtist").toString();
date = record.value("date").toString();
publisher = record.value("publisher").toString();
format = record.value("format").toString();
color = record.value("color").toBool();
ageRating = record.value("ageRating").toString();
synopsis = record.value("synopsis").toString();
characters = record.value("characters").toString();
notes = record.value("notes").toString();
return existOnDb = true;
}
existOnDb = false;
return false;
return existOnDb = false;
}
qulonglong ComicInfo::insert(QSqlDatabase & db)
@ -191,10 +225,11 @@ void ComicInfo::update(QSqlDatabase & db)
{
//db.open();
QSqlQuery findComicInfo(db);
findComicInfo.prepare("UPDATE comic_info SET title = :title, read = :read WHERE id = :id ");
findComicInfo.prepare("UPDATE comic_info SET title = :title, read = :read, edited = :edited WHERE id = :id ");
findComicInfo.bindValue(":title", title);
findComicInfo.bindValue(":read", read?1:0);
findComicInfo.bindValue(":id", id);
findComicInfo.bindValue(":edited", edited?1:0);
findComicInfo.exec();
//db.close();
}

View File

@ -19,7 +19,40 @@ public:
bool read;
bool edited;
QString hash;
QString title;
int pages;
int coverPage;
int number;
bool isBis;
int count;
QString volume;
QString storyArc;
int arcNumber;
int arcCount;
QString genere;
QString writer;
QString penciller;
QString inker;
QString colorist;
QString letterer;
QString coverArtist;
QString date;
QString publisher;
QString format;
bool color;
QString ageRating;
QString synopsis;
QString characters;
QString notes;
bool existOnDb;
};

View File

@ -68,7 +68,44 @@ bool DataBaseManagement::createTables(QSqlDatabase & database)
//COMIC INFO (representa la informaci<63>n de un c<>mic, cada c<>mic tendr<64> un id<69>ntificador <20>nico formado por un hash sha1'de los primeros 512kb' + su tama<6D>o en bytes)
QSqlQuery queryComicInfo(database);
queryComicInfo.prepare("CREATE TABLE comic_info (id INTEGER PRIMARY KEY, hash TEXT NOT NULL, edited BOOLEAN DEFAULT 0, title TEXT, read BOOLEAN)");
queryComicInfo.prepare("CREATE TABLE comic_info ("
"id INTEGER PRIMARY KEY,"
"title TEXT,"
"coverPage INTEGER,"
"numPages INTEGER,"
"number INTEGER,"
"isBis BOOLEAN,"
"count INTEGER,"
"volume TEXT,"
"storyArc TEXT,"
"arcNumber INTEGER,"
"arcCount INTEGER,"
"genere TEXT,"
"writer TEXT,"
"penciller TEXT,"
"inker TEXT,"
"colorist TEXT,"
"letterer TEXT,"
"coverArtist TEXT,"
"date TEXT," //dd/mm/yyyy --> se mostrar<61> en 3 campos diferentes
"publisher TEXT,"
"format TEXT,"
"color BOOLEAN,"
"ageRating BOOLEAN,"
"synopsis TEXT,"
"characters TEXT,"
"notes TEXT,"
"hash TEXT NOT NULL,"
"edited BOOLEAN DEFAULT 0,"
"read BOOLEAN)");
success = success && queryComicInfo.exec();
//COMIC (representa un c<>mic en disco, contiene el nombre de fichero)