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

Développement Web en Java Discussion :

Probleme ajout, de champ String resultSet


Sujet :

Développement Web en Java

  1. #1
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2012
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 277
    Points : 126
    Points
    126
    Par défaut Probleme ajout, de champ String resultSet
    Bonjour,

    J'ai un soucis, je récupére des valeurs à partir d'une base de donnée mysql, je fais un getString pour récuperer les valeurs à partir de ma base. ( le contenu de article.getStockArticle() est "2.000" etc ...) donc une valeur numerique dans un String. J'aimerais faire une addition afin d'obtenir un total.

    Par exemple au parcours du resultSet, article.getStockArticle() vaux 2.000, puis article.getStockArticle() vaux 2.000, j'aimerais avoir un resultat total = 4.000. Comment je peux faire ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    			String total = null;
    			while ( resultSet.next() ) {
    				article = mapDetailsArticleStock( resultSet );
    				articles.add(article);
    				//recup des valeurs de colonne stocks
    				System.out.println("valeur stock "+article.getStockArticle());
     
    				total = article.getStockArticle();
     
    			}

  2. #2
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Points : 1 493
    Points
    1 493
    Par défaut
    Je veux bien t'aider. Mais avant tout, quel est le type de donnée que tu as utilisé pour le champs en question dans ta base de données??? (int ou varchar)???
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  3. #3
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2012
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 277
    Points : 126
    Points
    126
    Par défaut
    C'est pas moi qui a construit la base mais apparemment c'est de type double dans la base.

  4. #4
    Membre confirmé
    Avatar de Laine
    Femme Profil pro
    Doctorat informatique
    Inscrit en
    Mars 2013
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : Algérie

    Informations professionnelles :
    Activité : Doctorat informatique

    Informations forums :
    Inscription : Mars 2013
    Messages : 238
    Points : 646
    Points
    646
    Par défaut
    Bonjour

    Pourquoi ne pas faire ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Double total = 0.0;
    		while ( resultSet.next() ) {
    			article = mapDetailsArticleStock(resultSet);
    			articles.add(article);
    			//recup des valeurs de colonne stocks
    			System.out.println("valeur stock "+article.getStockArticle());
     
    			total = total + Double.parseDouble(article.getStockArticle());
     
    		}

  5. #5
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Points : 1 493
    Points
    1 493
    Par défaut
    Bon! si je comprend bien, tu veux faire le total de la colonne... si tel est le cas, essaies de faire ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    int total=0;
    while (rs.next()) {
    total+=rs.getInt("le_nom_de_ta_colonne");
                }
    si la colonne est de type varchar, il suffit simplement de convertir comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    int total=0;
    while (rs.next()) {
    total+=Integer.parseInt(rs.getString("le_nom_de_ta_colonne"));
                }
    Bonne programmation...
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  6. #6
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Points : 1 493
    Points
    1 493
    Par défaut
    Si c'est double, rien de plus simple... essaies:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    double total=0.0;
    while (rs.next()) {
    total+=rs.getDouble("le_nom_de_ta_colonne");
                }
    et à la fin tu pourras afficher ton total aisement en dehors de while par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    system.out.println("Total="+total);
    Bonne chance et surtout fais moi signe dès que ça marche...
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  7. #7
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2012
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 277
    Points : 126
    Points
    126
    Par défaut
    Ok ça marche j'arrive à additionner mes colonnes :-) Derniere question ultime (attention lol)

    je vois le resultat correct en console via cette methode :

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    public List<Articles> trouverDetailsArticleStock(String codeArticle){
    		System.out.println("Appelle de la methode TrouverDetailsArticleStock !");
    		Connection connexion = null;
    		PreparedStatement preparedStatement = null;
    		ResultSet resultSet = null;
    		Articles article = null;
     
    		try {
    			/* Récupération d'une connexion depuis la Factory */
    			connexion = daoFactory.getConnection();
    			System.out.println("contenu codeArticle "+codeArticle);
    			preparedStatement = initialisationRequetePreparee( connexion, SQL_SELECT_PAR_CODEARTICLE_DETAILS_STOCK, false, codeArticle);
     
    			System.out.println("execution de la requete : "+SQL_SELECT_PAR_CODEARTICLE_DETAILS_STOCK);
     
    			resultSet = preparedStatement.executeQuery();
    			/* Parcours de la ligne de données de l'éventuel ResulSet retourné */
    			articles.clear();
    			double total = 0.0;
    			while ( resultSet.next() ) {
    				article = mapDetailsArticleStock( resultSet );
    				articles.add(article);
    				//recup des valeurs de colonne stocks
    				System.out.println("valeur stock "+article.getStockArticle());
    				total += resultSet.getDouble("stock");		
    			}
    			System.out.println("total : "+total);
                            //c'est ce setTotal ... que je n'arrive pas a recuperer...
    			article.setTotalStockArticle(total);
     
    		} catch ( SQLException e ) {
    			System.out.println("erreur dans la requete !");
    			throw new DAOException( e );
     
    		} finally {
    			System.out.println("fermeture de la connection !");
    			fermeturesSilencieuses( resultSet, preparedStatement, connexion );
    		}
    		return articles;	
    	}
    contenu de ma methode mapDetailsArticleStock(resultSet) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    	private static Articles mapDetailsArticleStock(ResultSet resultSet)throws SQLException {
    		Articles article = new Articles();
    		article.setMagasinArticle(resultSet.getString("S1MAG"));	
    		article.setStockArticle(resultSet.getString("STOCK"));
    		article.setAttenduArticle(resultSet.getString("S1ATT"));
    		article.setCommandeArticle(resultSet.getString("S1RES"));
    		//article.setPositionArticle(resultSet.getString("S1AFF"));	
     
    		return article;
    	}
    Maintenant j'arrive pas à l'afficher dans ma JSP :

    Voici un morceau de ma servlet :

    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
     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
     
    		ArticleImp = new ArticleDaoImpl(daoFactory);	
    		String recupTest = request.getParameter("numArticles");
    		System.out.println("contenu recupTest : "+recupTest);
     
                    //ici j'appel ma methode qui contient le bon resultat.
                    article = ArticleImp.trouverDetailsArticle(recupTest);
    		stockArticle = ArticleImp.trouverDetailsArticleStock(recupTest);
     
    		request.setAttribute("article", article);
    		request.setAttribute("stockArticle", stockArticle);
    		request.setAttribute("numeroArticle", recupTest);
    		this.getServletContext().getRequestDispatcher(VUE).forward(request, response);
    	}
    partie de Ma jsp qui interesse :

    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
    		<c:forEach var="resultatStockArticle"  begin="0"  items="${requestScope['stockArticle']}">
     
    				<!-- colonne Magasin -->
    				<td align="center"> ${resultatStockArticle.magasinArticle} </td>
     
    				<!-- colonne Stock -->
     
    				<td align="center"> <fmt:formatNumber value="${resultatStockArticle.stockArticle}" maxIntegerDigits="4"/> </td>			
     
    				<!-- colonne Attendu -->
    				<td align="center"> <fmt:formatNumber value="${resultatStockArticle.attenduArticle}" maxIntegerDigits="4"/>  </td>			
     
    				<!-- colonne Commandé -->
    				<td align="center"> <fmt:formatNumber value="${resultatStockArticle.commandeArticle}" maxIntegerDigits="4"/>  </td>	
     
    				<!-- colonne Position -->
    				<td align="center"><fmt:formatNumber value="${resultatStockArticle.stockArticle+resultatStockArticle.attenduArticle-resultatStockArticle.commandeArticle}" maxIntegerDigits="4"/>  </td>
    				<tr>
    				</c:forEach>
    				<td align="right">TOTAL</td>
    			 	<td border="1"  align="center"> <fmt:formatNumber value="${article.totalStockArticle}" maxIntegerDigits="4"/></td> 
    			</table>
    				test : <c:out value="${article.totalStockArticle}"></c:out>

  8. #8
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2012
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 277
    Points : 126
    Points
    126
    Par défaut
    C'est bon j'ai trouvé pour l'affichage. Merci pour votre aide ;-) .

    A une prochaine

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    			 	<td border="1"  align="center">  <c:forEach var="entree" items="${requestScope['stockArticle']}" ><c:if test="${entree.totalStockArticle != 0.0}">
    						<fmt:formatNumber value="${entree.totalStockArticle}" maxIntegerDigits="4"/>
    						</c:if></c:forEach> </td>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probleme pour ajouter un champs
    Par zyriuse dans le forum Ruby on Rails
    Réponses: 2
    Dernier message: 22/09/2010, 13h41
  2. Probleme avec les champs du formulaire
    Par Red_devils dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 29/09/2004, 13h06
  3. date de...a dans un champ string
    Par Yepazix dans le forum Bases de données
    Réponses: 5
    Dernier message: 01/09/2004, 23h54
  4. ajouter un champ dynamiquement à une instance de table
    Par maniack dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/02/2004, 23h58
  5. [LG]probleme avec l'identificateur STRINGE
    Par youth dans le forum Langage
    Réponses: 3
    Dernier message: 15/08/2003, 01h42

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