if (!exec(q))
return episodes;
+ QSqlResultIterator it(q);
while (q.next())
{
- episodes << readEpisode(q);
+ Episode e;
+ readEpisodeData(it, e);
+ episodes << e;
}
q.finish();
if (!exec(q))
return e;
- if (q.next())
- e = readEpisode(q);
+ if (!q.next())
+ return e;
+
+ QSqlResultIterator it(q);
+ readEpisodeData(it, e);
q.finish();
if (!exec(q))
return e;
- if (q.next())
- e = readEpisode(q);
+ if (!q.next())
+ return e;
+
+ QSqlResultIterator it(q);
+ readEpisodeData(it, e);
q.finish();
q.bindValue(":path", mappedPath);
if (!exec(q))
- return File();
+ return f;
- if (q.next())
- f = readFile(q);
+ if (!q.next())
+ return f;
+
+ QSqlResultIterator it(q);
+ readFileData(it, f);
q.finish();
if (!exec(q))
return f;
- if (q.next())
- f = readFile(q);
+ if (!q.next())
+ return f;
+
+ QSqlResultIterator it(q);
+ readFileData(it, f);
q.finish();
if (!exec(q))
return f;
- if (q.next())
- f = readUnknownFile(q);
+ if (!q.next())
+ return f;
+
+ QSqlResultIterator it(q);
+ readUnknownFileData(it, f);
q.finish();
if (!exec(q))
return f;
- if (q.next())
- f = readUnknownFile(q);
+ if (!q.next())
+ return f;
+
+ QSqlResultIterator it(q);
+ readUnknownFileData(it, f);
q.finish();
return data;
}
-Episode Database::readEpisode(QSqlQuery &q)
-{
- Episode e;
- e.eid = q.value(0).toInt();
- e.aid = q.value(1).toInt();
- e.entryAdded = q.value(2).toDateTime();
- e.anidbUpdate = q.value(3).toDateTime();
- e.entryUpdate = q.value(4).toDateTime();
- e.myUpdate = q.value(5).toDateTime();
- e.epno = q.value(6).toInt();
- e.titleEnglish = q.value(7).toString();
- e.titleRomaji = q.value(8).toString();
- e.titleKanji = q.value(9).toString();
- e.length = q.value(10).toInt();
- e.airdate = q.value(11).toDateTime();
- e.state = q.value(12).toInt();
- e.type = q.value(13).toString();
- e.recap = q.value(14).toBool();
- e.rating = q.value(15).toDouble();
- e.votes = q.value(16).toInt();
- e.myVote = q.value(17).toDouble();
- e.myVoteDate = q.value(18).toDateTime();
-
- return e;
-}
-
-File Database::readFile(QSqlQuery &q)
-{
- File f;
- f.fid = q.value(0).toInt();
- f.eid = q.value(1).toInt();
- f.aid = q.value(2).toInt();
- f.gid = q.value(3).toInt();
- f.entryAdded = q.value(4).toDateTime();
- f.anidbUpdate = q.value(5).toDateTime();
- f.entryUpdate = q.value(6).toDateTime();
- f.myUpdate = q.value(7).toDateTime();
- f.ed2k = q.value(8).toByteArray();
- f.size = q.value(9).toLongLong();
- f.length = q.value(10).toInt();
- f.extension = q.value(11).toString();
- f.groupName = q.value(12).toString();
- f.groupNameShort = q.value(13).toString();
- f.crc = q.value(14).toString();
- f.releaseDate = q.value(15).toDateTime();
- f.version = q.value(16).toInt();
- f.censored = q.value(17).toBool();
- f.source = q.value(18).toString();
- f.quality = q.value(20).toString();
- f.resolution = q.value(21).toString();
- f.videoCodec = q.value(22).toString();
- f.audioCodec = q.value(23).toString();
- f.audioLanguage = q.value(24).toString();
- f.subtitleLanguage = q.value(25).toString();
- f.aspectRatio = q.value(26).toString();
- f.myWatched = q.value(27).toDateTime();
- f.myState = q.value(28).toInt();
- f.myFileState = q.value(29).toInt();
- f.myStorage = q.value(30).toString();
- f.mySource = q.value(31).toString();
- f.myOther = q.value(32).toString();
-
- return f;
-}
-
-UnknownFile Database::readUnknownFile(QSqlQuery &q)
-{
- UnknownFile f;
-
- f.ed2k = q.value(0).toByteArray();
- f.size = q.value(1).toLongLong();
- f.hostId = q.value(2).toInt();
- f.path = q.value(3).toString();
-
- return f;
-}
-
QSqlQuery &Database::prepare(const char *const sql)
{
if (!isConnected())