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 :

Nombre de lignes renvoyé par une requete


Sujet :

JDBC Java

  1. #1
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 16
    Par défaut Nombre de lignes renvoyé par une requete
    Bonsoir, j'ai un probleme avec les 2 requetes suivantes elles m'envoie le meme nombre de lignes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    try{
    	Statement stmt = BD.con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
    	ResultSet rs = stmt.executeQuery("select distinct nom from client order by nom");
    	rs.last();
    	System.out.println(rs.getRow());
    }catch (SQLException e) {
    		//e.printStackTrace();
    }
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    try{
    	Statement stmt = BD.con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
    	ResultSet rs = stmt.executeQuery("select nom from client order by nom");
    	rs.last();
    	System.out.println(rs.getRow());
    }catch (SQLException e) {
    		//e.printStackTrace();
    }
    le fait la selection sans redondance et ajoute des lignes vides. Comment resoudre ce probleme ?

  2. #2
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 16
    Par défaut précision
    Je précise qu'il s'agit d'une base de données Microsoft access 2000.
    Merci.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 28
    Par défaut
    Peut-être que dans ta base de données, tout simplement, les resultats des requêtes sont identiques.Essaie les requêtes sur ta base sans passer par JAVA, tu verra peut-être alors que ton programme fonctionne correctement.

  4. #4
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 16
    Par défaut
    Non sur ma base, la requete ne fonctionne pas de la meme manière que sous java. elle fonctionne plutot bien. Les nombres de lignes renvoyées sont differentes quand il s'agit d'un select distinct ... que quand il s'agit d'un select ... tout court.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 28
    Par défaut
    Si tu es sous éclipse tu peut mettre un point d'arret sur getRows() et last() s'il te plait ?

    sinon , plutôt qu ede faire un SOP de rs.getRoxs(), fais une boucle pour voir...

  6. #6
    Membre émérite Avatar de fraco
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 750
    Par défaut
    select distinct fait la selection sans redondance et ajoute des lignes vides.
    Je précise qu'il s'agit d'une base de données Microsoft access 2000.

    J'ai fait la même constatation avec Access...
    en lisant le ResultSet on aura des valeurs nulles à la fin
    ( prévoir une nullPointerException ou autre )

    mon proverbe : "qui veut éviter les ennuis évite Access"

    bonne chance !

  7. #7
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    de toute façon, à voir le code, tu cherche à compter le nombre d'enregistrement non?

    dans ce cas, un "select count(*)" et un "select count(distinct nom)" devrait fonctionner mieux


  8. #8
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 16
    Par défaut
    Non le but n'était pas seulement de compter le nombre de lignes mais de construire un tableau String[][] avec le jeu d'enregistrements. Pour definir la taille du tableau j'avais besoin du nombre de lignes.

Discussions similaires

  1. Réponses: 2
    Dernier message: 31/01/2012, 16h23
  2. Réponses: 7
    Dernier message: 19/06/2008, 08h17
  3. Réponses: 3
    Dernier message: 20/11/2006, 12h17
  4. Réponses: 9
    Dernier message: 11/05/2006, 15h31
  5. Réponses: 2
    Dernier message: 12/10/2005, 15h15

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