コード例 #1
0
ファイル: enrollmentdao.cpp プロジェクト: sagzy/lo21-project
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;
    }
}
コード例 #2
0
ファイル: enrollmentdao.cpp プロジェクト: sagzy/lo21-project
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;
    }
}