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 :

Somme sql entre deux dates


Sujet :

JDBC Java

  1. #21
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2014
    Messages : 200
    Points : 75
    Points
    75
    Par défaut
    Comment changer le format de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Date from = Date.valueOf(LocalDate.of(Integer.parseInt(J),Integer.parseInt(M),Integer.parseInt(aa))); 
                    Date to = Date.valueOf(LocalDate.of(Integer.parseInt(aa1),Integer.parseInt(M1),Integer.parseInt(J1)));
    en

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String format = "dd/MM/yy";
    ton bout de code me donne ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    oct. 01, 2017 2:51:59 PM vues.Paiement jButton1ActionPerformed
    GRAVE: null
    org.h2.jdbc.JdbcSQLException: Cannot parse "DATE" constant "30/09/17"; SQL statement:
    select  SUM (paiement) AS mon_total from Achat WHERE Achat.date between ? and ? [22007-176]
    	at org.h2.message.DbException.getJdbcSQLException(DbException.java:344)
    le format des date que je stock est dd/MM/aa et le dernier insert etait le 30/09/17!! j'ai selectionné les date: 01/01/2017 et 31/12/2017

  2. #22
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    Les dates n'ont pas de format dans une base de données. C'est des dates, point. Seule une string a une format, d'où l'intérêt d'utiliser setDate plutot que setString ou de la concaténation. Il ne devrait ps y avoir de conversion impliquée si tu as bien défini ta colonne comme étant une date.

  3. #23
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2014
    Messages : 200
    Points : 75
    Points
    75
    Par défaut
    alors, dans ma colonne date j'insere la date actuelle!!

    cmt puis-je recupérée la date sans format precis??

    voila comment je procede:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    String format = "dd/MM/yy";
            java.text.SimpleDateFormat formater = new java.text.SimpleDateFormat( format );
            java.util.Date date = new java.util.Date();
    et j'insere le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    formater.format( date )

  4. #24
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2014
    Messages : 200
    Points : 75
    Points
    75
    Par défaut
    oupsss!! je stock un string finalement! cmt je pallie ça?

  5. #25
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 711
    Points : 4 792
    Points
    4 792
    Par défaut
    Tu veux dire que c'est un champ de format String (un varchar(10) par exemple) ?

    Dans ce cas, il faut changer cela car aucune requête ne fonctionnera correctement :

    Avec une date stockée en caractères, le 15/07/2017 vient après le 02/10/2017
    Du coup le BETWEEN ne peut pas trouver les données

  6. #26
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2014
    Messages : 200
    Points : 75
    Points
    75
    Par défaut
    oui, c bon j'ai reglé le stockage!!

    actuellement j'essaie avec le code suivant:

    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
     
     
     String query1 = "select  SUM (paiement) AS mon_total from Achat WHERE Achat.date between ? and ?";
       PreparedStatement stmt1 = null;ResultSet rsltSet = null;
          try {
               System.out.println("je ss ds le try de while");
     
                 stmt1 = connection.prepareStatement(query1);
                 stmt1.setDate(1, from);
                 stmt1.setDate(2, to);
               rsltSet = stmt1.executeQuery();
               if(rsltSet.next())   {
     
              if (rsltSet.getObject(1) != null){     
             System.out.println(rsltSet.getObject(1).toString());
                this.c.setText(rsltSet.getObject(1).toString()); 
              }
              else{
                  System.out.println("c null");
              }
     
               }
        else{    
     
        this.c.setText("0 DA");
     
            }
                } catch (SQLException ex) {
                Logger.getLogger(Paiement.class.getName()).log(Level.SEVERE, null, ex);
     
            }

    ça me donne pas d'exception mais ça affiche tjs "c null"!! ça se voit que le rsltSet.getObject(1)==null!!

  7. #27
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2014
    Messages : 200
    Points : 75
    Points
    75
    Par défaut
    c bon
    je sais pourquoi ça renvoie null, je ne recuperais que 17 de mon 2017, jai au fait reformulé aa et aa1!

    je vous remerciiie pour l'aiiidee

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [WD17] Requête SQL entre deux dates
    Par chrysaxel dans le forum WinDev
    Réponses: 9
    Dernier message: 27/01/2023, 23h40
  2. requete SQL entre deux dates
    Par Augustule dans le forum Requêtes
    Réponses: 2
    Dernier message: 01/10/2013, 13h01
  3. [SQL] Nombre de jours entre deux dates
    Par azeggouar dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 19/08/2009, 16h07
  4. [SQL] obtenir la différence en jours entre deux dates sql
    Par toma03 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 06/06/2007, 12h20
  5. [SQL Server] Sélection entre deux dates
    Par Gabrielly dans le forum Langage SQL
    Réponses: 3
    Dernier message: 21/06/2006, 14h51

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