Package dao

Source Code of dao.InscriptionSpIndDAO

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package dao;

import dao.DAOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import javax.sql.DataSource;
import dao.ISpIndDAO;
import java.sql.PreparedStatement;
import java.util.HashMap;
import java.util.Map;
import model.InscriptionInd;
import model.Sportif;

/**
*
* @author moha
*/
public class InscriptionSpIndDAO extends AbstractDataBaseDao implements ISpIndDAO {

//    /*
//     * requetes pour construire les épreuves des sportifs
//     */
//    private static final String reqEpIndSp=
//            "select nomSp,prenomSp, nomP from LesSportifs Natural Join InscriptionInd where IdEp=%d order by nomP;";
//
//    /*
//     * nom des critere de recherche
//     */
    private static Map<DataSource, InscriptionSpIndDAO> daoInstances =
            new HashMap<DataSource, InscriptionSpIndDAO>();

    public synchronized static InscriptionSpIndDAO getInstance(DataSource ds) {
        InscriptionSpIndDAO inst = daoInstances.get(ds);
        if (inst == null) {
            inst = new InscriptionSpIndDAO(ds);
            daoInstances.put(ds, inst);
        }
        return inst;
    }

    public InscriptionSpIndDAO(DataSource ds) {
        super(ds);

    }

    /*
     * enregistre un sportif à l'épreuve indiquer
     *
     */
    public void setSportifEpInd(int IdSp, int IdEp) throws DAOException {

        Connection conn = null;

        InscriptionInd sp = new InscriptionInd(IdSp, IdEp);//sportif epreuve individuelle
        sp.setIdSp(IdSp);
        sp.setIdep(IdEp);

        try {
            synchronized (dataSource) {
                conn = dataSource.getConnection();
            }

           
            String req = "insert into InscriptionInd (IdSp,IdEp) "
                    + " VALUES (?,?)";

            System.out.println(req);
            PreparedStatement ps = conn.prepareStatement(req);//preparation d'un statement
            ps.setInt(1, IdSp);// setXXX fixe la valeur IdSp dans la colonne 1, XXX type de la colonne
            ps.setInt(2, IdEp);
            ps.executeUpdate();//update les valeurs entrees
           
            ps.close();

        } catch (SQLException ex) {
            throw new DAOException("problème insertion du sportif à l'épreuve individuelle", ex);

        } finally {
            closeConnection(conn);
        }

    }


    /*
     * Construit la liste des sportifs inscrit à une épreuve individuelle
     * @param Idep numero de l'épreuve
     * @throws DAOException si la liste des notes n'a pu être construite suite
     *         à un problème d'accès à la base de données.
     */
    public List<Sportif> loadInscSpInd(int IdEp) throws DAOException {

        Connection conn = null;
        Statement stmt = null;
        try {
            synchronized (dataSource) {
                conn = dataSource.getConnection();
            }

            stmt = conn.createStatement();//creation d'un statement pour l'execution de la commande dans executeQuery
            /*requete selection du num Sportif, nom, prenom, delegation pour une épreuve donnee ordonnee par pays*/
            String req = "select IdSp, NomSp, PrenomSp, nomP from InscriptionInd Natural Join LesSportifs where IdEp=" + IdEp
                    + " order by nomP ";
            ResultSet rs = stmt.executeQuery(req);
            // construit la liste des sportifs inscrits
            List<Sportif> sportifs = new ArrayList<Sportif>();
            sportifs.clear(); // efface tous les éléments de la liste sportifs
            while (rs.next()) {
                sportifs.add(new Sportif(rs.getInt(1), rs.getString(2), rs.getString(3), rs.getString(4)));
            }
            rs.close();
            stmt.close();
            return sportifs;
        }
        catch (SQLException ex) {
            throw new DAOException("problème recuperation sportif à l'épreuve individuelle", ex);

        } finally {
            closeConnection(conn);
        }



            }

        }
TOP

Related Classes of dao.InscriptionSpIndDAO

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.