void EnrollmentDao::deleteObj(Enrollment obj){ std::multimap<Semester*, Enrollment*>::iterator it; for(it = enrollment_map.begin(); it != enrollment_map.end() && it->second->getId() != obj.getId(); ++it){ } if(it == enrollment_map.end()) { throw DaoException("Enrollment not found into the list"); } if(db.isValid() && db.isOpen()){ QSqlQuery* q = new QSqlQuery(); q->prepare("delete from enrollment where rowid = :id"); q->bindValue(":id", obj.getId()); if(!q->exec()){ std::cout<<"Error while deleting Enrollment in database : "<< q->lastError().text().toStdString() <<std::endl; delete q; return; } enrollment_map.erase(it); delete q; } }
void EnrollmentDao::update(Enrollment obj){ Enrollment* enrollment; try{ enrollment = find(obj); } catch(DaoException e){ std::cout<<e.what()<<std::endl; return; } if(db.isValid() && db.isOpen()){ QSqlQuery* q = new QSqlQuery(); q->prepare("update enrollment set mark = :mark where rowid = :id"); q->bindValue(":mark", QString(MarkNames[obj.getMark()])); q->bindValue(":id", obj.getId()); if(!q->exec()){ std::cout<<"Error while updating Enrollment in database : "<< q->lastError().text().toStdString() <<std::endl; delete q; return; } enrollment->setMark(obj.getMark()); delete q; } }