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 à l'essai
    Inscrit en
    Juin 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 16
    Points : 14
    Points
    14
    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 à l'essai
    Inscrit en
    Juin 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 16
    Points : 14
    Points
    14
    Par défaut précision
    Je précise qu'il s'agit d'une base de données Microsoft access 2000.
    Merci.

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

    Informations forums :
    Inscription : Avril 2009
    Messages : 28
    Points : 30
    Points
    30
    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 à l'essai
    Inscrit en
    Juin 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 16
    Points : 14
    Points
    14
    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
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 28
    Points : 30
    Points
    30
    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 éprouvé 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
    Points : 934
    Points
    934
    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
    Points : 3 675
    Points
    3 675
    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

    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  8. #8
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 16
    Points : 14
    Points
    14
    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