IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JDBC Java Discussion :

Group by semaine


Sujet :

JDBC Java

  1. #1
    Débutant
    Inscrit en
    Septembre 2007
    Messages
    372
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 372
    Points : 86
    Points
    86
    Par défaut Group by semaine
    Bonjour, dans mon projet je dois récupéré la liste des tache réalisé dans une semaine précise, ces taches ont par défaut un statut "non valide", elles ne seront valide qu'après la validation du chef de projet, lorsque le user s'authentifie, je récupère son id et je liste toutes les taches qu'il a fait pendant les semaines passé ainsi que celle actuelle, ces affichage sont regroupé par semaine, avec un cumul(la somme de la durée de chaque tache réalisé), et un statut qui sera egal a "valide" si toute les taches sont valide sinon le statut de la semaine sera non valide, j'aimerais bien que j'étais claire, j"ai réussi à faire out ca sauf le statut, j'arrive pas a afficher si la semaine et valide ou non, je vous présente ci dessus ce que j'ai fais et merci pour votre aide :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    		ResultSet rs=session.connection().createStatement().executeQuery("select NUM_SEMAINE, DEBUT_SEMAINE," +
    				" FIN_SEMAINE,ID_RESSOURCE,sum(DUREETACHE)as cum from GPL_POINTAGES " +
    				"group by NUM_SEMAINE, DEBUT_SEMAINE,FIN_SEMAINE,ID_RESSOURCE having ID_RESSOURCE="+idr);
     
    		while(rs.next()){
    			CumulPointage cp =new CumulPointage();
    			cp.setNumSemaine(rs.getInt("NUM_SEMAINE"));
    			cp.setCumul(rs.getInt("cum"));
    			cp.setIdRessource(idr);
    			cp.setStatut(rs.getString("lg"));
    		    cp.setDds(rs.getDate("DEBUT_SEMAINE"));
    		    cp.setDfs(rs.getDate("FIN_SEMAINE"));
     
     
    			/*ResultSet ss = session.connection().createStatement().executeQuery("select STATUT from (select NUM_SEMAINE," +
    					" DEBUT_SEMAINE, FIN_SEMAINE,ID_RESSOURCE,STATUT,sum(DUREETACHE)as cum from GPL_POINTAGES " +
    					"group by NUM_SEMAINE, DEBUT_SEMAINE,FIN_SEMAINE,ID_RESSOURCE,STATUT having ID_RESSOURCE="+idr+"and NUM_SEMAINE="+cp.getNumSemaine()+")");
     
    			ResultSet sr = session.connection().createStatement().executeQuery("select count(*) as lg from (select STATUT from (select NUM_SEMAINE," +
    					" DEBUT_SEMAINE, FIN_SEMAINE,ID_RESSOURCE,STATUT,sum(DUREETACHE)as cum from GPL_POINTAGES " +
    					"group by NUM_SEMAINE, DEBUT_SEMAINE,FIN_SEMAINE,ID_RESSOURCE,STATUT having ID_RESSOURCE="+idr+"and NUM_SEMAINE="+cp.getNumSemaine()+"))");
     
    			if((sr.getInt("lg")==1) && (ss.getString("STATUT").equalsIgnoreCase("Valide"))){
    				cp.setStatut("Valide");
    			}
    			else cp.setStatut("Non Valide");*/
    		    list.add(cp);
    		}
    j'ai un problème dans la partie commentée, lorsque je la mis il me dit qu'il ne peux pas faire un next ?

    veuillez m'aider !

  2. #2
    Membre habitué
    Inscrit en
    Octobre 2007
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 401
    Points : 153
    Points
    153
    Par défaut
    En faisent

    ResultSet ss = ...

    tu obtiens la "liste" de tes résultats. Pour pouvoir y accéder, tu dois la parcourir. Pour la parcourir tu dois faire

    if(ss.next()) {
    xx = ss.getInt(...);
    ...
    }

    afin de te positionner sur la première ligne retournée.
    Si il y a plusieurs lignes, normalement, tu devras mettre ss.next() dans un while...


    Citation Envoyé par newmar Voir le message
    Bonjour, dans mon projet je dois récupéré la liste des tache réalisé dans une semaine précise, ces taches ont par défaut un statut "non valide", elles ne seront valide qu'après la validation du chef de projet, lorsque le user s'authentifie, je récupère son id et je liste toutes les taches qu'il a fait pendant les semaines passé ainsi que celle actuelle, ces affichage sont regroupé par semaine, avec un cumul(la somme de la durée de chaque tache réalisé), et un statut qui sera egal a "valide" si toute les taches sont valide sinon le statut de la semaine sera non valide, j'aimerais bien que j'étais claire, j"ai réussi à faire out ca sauf le statut, j'arrive pas a afficher si la semaine et valide ou non, je vous présente ci dessus ce que j'ai fais et merci pour votre aide :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    		ResultSet rs=session.connection().createStatement().executeQuery("select NUM_SEMAINE, DEBUT_SEMAINE," +
    				" FIN_SEMAINE,ID_RESSOURCE,sum(DUREETACHE)as cum from GPL_POINTAGES " +
    				"group by NUM_SEMAINE, DEBUT_SEMAINE,FIN_SEMAINE,ID_RESSOURCE having ID_RESSOURCE="+idr);
     
    		while(rs.next()){
    			CumulPointage cp =new CumulPointage();
    			cp.setNumSemaine(rs.getInt("NUM_SEMAINE"));
    			cp.setCumul(rs.getInt("cum"));
    			cp.setIdRessource(idr);
    			cp.setStatut(rs.getString("lg"));
    		    cp.setDds(rs.getDate("DEBUT_SEMAINE"));
    		    cp.setDfs(rs.getDate("FIN_SEMAINE"));
     
     
    			/*ResultSet ss = session.connection().createStatement().executeQuery("select STATUT from (select NUM_SEMAINE," +
    					" DEBUT_SEMAINE, FIN_SEMAINE,ID_RESSOURCE,STATUT,sum(DUREETACHE)as cum from GPL_POINTAGES " +
    					"group by NUM_SEMAINE, DEBUT_SEMAINE,FIN_SEMAINE,ID_RESSOURCE,STATUT having ID_RESSOURCE="+idr+"and NUM_SEMAINE="+cp.getNumSemaine()+")");
     
    			ResultSet sr = session.connection().createStatement().executeQuery("select count(*) as lg from (select STATUT from (select NUM_SEMAINE," +
    					" DEBUT_SEMAINE, FIN_SEMAINE,ID_RESSOURCE,STATUT,sum(DUREETACHE)as cum from GPL_POINTAGES " +
    					"group by NUM_SEMAINE, DEBUT_SEMAINE,FIN_SEMAINE,ID_RESSOURCE,STATUT having ID_RESSOURCE="+idr+"and NUM_SEMAINE="+cp.getNumSemaine()+"))");
     
    			if((sr.getInt("lg")==1) && (ss.getString("STATUT").equalsIgnoreCase("Valide"))){
    				cp.setStatut("Valide");
    			}
    			else cp.setStatut("Non Valide");*/
    		    list.add(cp);
    		}
    j'ai un problème dans la partie commentée, lorsque je la mis il me dit qu'il ne peux pas faire un next ?

    veuillez m'aider !

Discussions similaires

  1. [2012] Sélection de ventes groupée par semaine
    Par eddyphan dans le forum Développement
    Réponses: 17
    Dernier message: 06/11/2014, 09h18
  2. Requête SQL avec Group By par semaine
    Par SOPSOU dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 08/07/2013, 22h20
  3. Requête DateTime sur une semaine groupée par jour et par heure
    Par cerealkiller dans le forum Langage SQL
    Réponses: 1
    Dernier message: 10/08/2011, 15h54
  4. Perdu dans les Groupes pour mise en forme jours/semaines
    Par StefC30 dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 02/04/2008, 14h13
  5. N° semaine et group by
    Par Kropernic dans le forum Langage SQL
    Réponses: 6
    Dernier message: 27/02/2008, 12h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo