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

Outils MySQL Discussion :

afficher une table + le total des pieces +montant total


Sujet :

Outils MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 9
    Par défaut afficher une table + le total des pieces +montant total
    bonjour tt le monde,
    j'ai une table intitulée "depenses_francaises" sur Mysql administrator 1.2.12 qui est la suivante:
    numero, bureau_poste,no_pension,montant,date_paiement,date_echeance

    j'tilise java server page(JSP) pour gerer ma base de données et je veux trouver une requete ki m'affiche les elements de ce tableau + le nombre total des pièces et le montant total .


    j'ai besoin de votre aide.
    merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 288
    Par défaut
    D'abord ça s'appelle une table et non une base. Ensuite on fait normalement ça avec deux requêtes différentes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    -- détail
    SELECT numero, bureau_poste,no_pension,montant,date_paiement,date_echeance
    FROM tatable
     
    -- agrégats d'ensemble
    SELECT COUNT(*) AS NbElem, SUM(montant) AS Total
    FROM tatable
    C'est possible de l'avoir en une seule requête, mais je ne suis pas sûr que ça présente le moindre intérêt...

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 9
    Par défaut
    c'est ce ke j'ai fait,lorsque j'execute la premier requete, ma table s'affiche normalment mais quand je rajoute la deuxieme requete, j'obtien cette erreur:java.sql.SQLException: Operation not allowed after ResultSet closed

    (connexion a la base)
    Statement stmt=con.createStatement();
    ResultSet rs;
    ResultSet rsTotal;
    rs = stmt.executeQuery("SELECT * from depenses_francaises");
    rsTotal = stmt.executeQuery("SELECT count(*) as total, sum(montant) as mont_tot FROM depenses_francaises");%>

    <html>
    <body>
    <table> (pour l'affichage de la table , c'est bon) </table>

    <p> Montant Total: <%=rsTotal.getString("mont_tot")%></p>
    <p> Nombre total des pièces: <%=rsTotal.getString("total")%></p>
    </body>
    </html>
    je sais plus quoi faire

  4. #4
    Membre expérimenté Avatar de Mogwaï
    Inscrit en
    Mai 2004
    Messages
    247
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mai 2004
    Messages : 247
    Par défaut
    A quelle ligne correspond l'erreur ?

    A prioris tu essaies de faire 2 stmt.executeQuery d'affilé, ce qui fait que le premier resultSet n'est plus disponible.

    A mon avis : fais une premiere requète puis extrait le resultat du resultSet pour le sauver dans une variable mont_tot. Ensuite, fais la même chose pour enregistrer le 2eme résultat dans une 2eme variable total. Clos ton statement, puis envoie le code d'affichage avec les variables dedans. A ce moment là tu ne devrais plus à avoir traiter de resultSet.

    Personnellement, j'effectue toujours les opérations d'accès à la base de donnée avant l'affichage du HTML. Ca permet de séparer autant que faire se peut le code de la présentation sans utiliser de templates.

  5. #5
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 9
    Par défaut
    Statement stmt=con.createStatement();

    ResultSet rs;
    rs = stmt.executeQuery("SELECT * from depenses_francaises");
    String numero=rs.getString("numero");
    String b_poste=rs.getString("b_poste");
    String no_pension=rs.getString("no_pension");
    String montant=rs.getString("montant");
    String d_echeance=rs.getString("d_echeance");
    String d_paiement=rs.getString("d_paiement");

    ResultSet rsTotal;
    rsTotal = stmt.executeQuery("SELECT count(*) as total, sum(montant) as mont_tot FROM depenses_francaises");
    String mont_tot=rsTotal.getString("mont_tot");
    String total=rsTotal.getString("total");

    stmt.close();
    con.close();
    %>
    <html>
    <body>
    <table> (affichage de ma table)
    </table>
    <p> Montant Total: <%=mont_tot%></p>
    <P>Nombre total des pièces: <%=total%></p>
    </body>
    </html>

    et voici mon erreur:java.sql.SQLException: Before start of result set

  6. #6
    Membre expérimenté Avatar de Mogwaï
    Inscrit en
    Mai 2004
    Messages
    247
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mai 2004
    Messages : 247
    Par défaut
    OK pour l'erreur mais à quelle ligne elle correspond ?

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 14/03/2013, 21h41
  2. Réponses: 0
    Dernier message: 14/03/2013, 03h42
  3. Réponses: 5
    Dernier message: 30/09/2008, 15h54
  4. [C#] creer et afficher une table en code behind
    Par shams dans le forum ASP.NET
    Réponses: 9
    Dernier message: 13/07/2005, 16h51
  5. remplir une table en fonction des résultats
    Par Psychomantis dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 19/10/2004, 12h22

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