vector<PVerse> *DatabaseIO::getVerses(int poemId) { vector<PVerse> *aVector = new vector<PVerse>(); Cursor *cursor = NULL; stringstream query; query << "SELECT * FROM verse WHERE poem_id = " << poemId; if (dbo->query(query.str(), cursor)) { if (cursor == NULL) return aVector; if (cursor->first()) { do { PVerse verse = new Verse; verse->vorder = cursor->asInteger(1); verse->position = cursor->asInteger(2); verse->text = cursor->asString(3); aVector->push_back(verse); } while (cursor->next()); } delete cursor; } else { qDebug() << QString::fromStdString(dbo->getError()); } return aVector; }
vector<PPoem> *DatabaseIO::getPoems(int categoryId) { vector<PPoem> *aVector = new vector<PPoem>(); Cursor *cursor = NULL; stringstream query; query << "SELECT * FROM poem WHERE cat_id = " << categoryId; if (dbo->query(query.str(), cursor)) { if (cursor == NULL) return aVector; if (cursor->first()) { do { PPoem poem = new Poem; poem->Id = cursor->asInteger(0); poem->title = cursor->asString(2); aVector->push_back(poem); } while (cursor->next()); } delete cursor; } else { qDebug() << QString::fromStdString(dbo->getError()); } return aVector; }
vector<PCategory> *DatabaseIO::getCategories(int parentId) { vector<PCategory> *aVector = new vector<PCategory>(); Cursor *cursor = NULL; stringstream query; query << "SELECT * FROM cat WHERE parent_id = " << parentId << " ORDER BY text"; if (dbo->query(query.str(), cursor)) { if (cursor == NULL) return aVector; if (cursor->first()) { do { PCategory category = new Category; category->name = cursor->asString(2); category->Id = cursor->asInteger(0); category->parentId = cursor->asInteger(3); category->biographyId = cursor->asInteger(1); aVector->push_back(category); } while (cursor->next()); } delete cursor; } else { qDebug() << QString::fromStdString(dbo->getError()); } return aVector; }