void pgBook::addAreaToBook(Book book, Area area) { pgAreasBooks areasBooksRelation(this->driver); data areaBookData; areaBookData["area_id"] = area.getId(); areaBookData["book_id"] = book.getId(); AreasBooks item(areaBookData); areasBooksRelation.create(item); }
void pgBook::addAuthorToBook(Book book, Author author) { pgAuthorsBooks authorsBooksRelation(this->driver); data authorBookData; authorBookData["author_id"] = author.getId(); authorBookData["book_id"] = book.getId(); AuthorsBooks item(authorBookData); authorsBooksRelation.create(item); }
/** * @brief Updates book. * * @param b Book to be updated. * * This method updates every field of the book, except the id and the referenced * authors, publishers and themes. */ void BookCollection::updateBook(Book b) throw(DataBaseException) { PreparedStatement updBook("UPDATE books SET isbn = '%1', title = '%2'," " edition = '%3', description = '%4', critique = '%5', rating =" " '%6', cover = '%7', ebook = '%8', publishingyear = '%9', udc =" " '%10', translator = '%11' WHERE id = '%12'", db->getType()); updBook.arg(b.getIsbn()); updBook.arg(b.getTitle().toStdString()); updBook.arg(b.getEdition()); updBook.arg(b.getDescription().toStdString()); updBook.arg(b.getCritique().toStdString()); updBook.arg(b.getRating()); updBook.arg(b.getCover().toStdString()); updBook.arg(b.getEbook().toStdString()); updBook.arg(b.getPubDate().toString("yyyy-MM-dd").toStdString()); updBook.arg(b.getUDC().toStdString()); updBook.arg(b.getTranslator().getId()); updBook.arg(b.getId()); db->exec(updBook); }