Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1112 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Un truc tout simple je pense...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Un truc tout simple je pense...

n°227575
joujou_cs
Posté le 13-10-2002 à 15:29:14  profilanswer
 

Voilà.
 
Je fais une requete pour récupérer des champs.
      Connection con;
      Statement stmt;
      stmt = con.createStatement();
      ResultSet rs = stmt.executeQuery(queryString);
 
Et je voudrais savoir le nombre de lignes qui est récupéré.
Comment faire? y a t-il une fonction pour çà??
 
Merci A++

mood
Publicité
Posté le 13-10-2002 à 15:29:14  profilanswer
 

n°227603
gfive
Posté le 13-10-2002 à 16:03:52  profilanswer
 

A priori, non!
 

n°227681
R3g
fonctionnaire certifié ITIL
Posté le 13-10-2002 à 18:59:55  profilanswer
 

Peut-être ResultSetMetaData mais je pense pas. Le truc c'est de parcourir ton ResultSet avec un while(rs.next()), et de compter....


---------------
Au royaume des sourds, les borgnes sont sourds.
n°227980
darklord
You're welcome
Posté le 15-10-2002 à 08:55:32  profilanswer
 

et c'est bourrin oui on sait :)
 
sérieusement c'est un problème super classique. Tout le monde pense que c'est super simple mais en fait non. Un exemple qui montre que ca ne peut pas etre aussi simple c'est lorsque tu fais une grosse requete sur ta base (genre select * from matable ou il y a 10.000 records :D)
 
clairement l'implémentation sous jacente et la base elle même ne vas te renvoyer qu'un nombre limité de record (50 par exemple) puis au fur et à muesure que tu fais rs.next() il va aller chercher la suite du résultat
 
-> impossible de connaitre la taille à priori


---------------
Just because you feel good does not make you right
n°227987
El_gringo
Posté le 15-10-2002 à 09:06:37  profilanswer
 

joujou_cs a écrit a écrit :

Voilà.
 
Je fais une requete pour récupérer des champs.
      Connection con;
      Statement stmt;
      stmt = con.createStatement();
      ResultSet rs = stmt.executeQuery(queryString);
 
Et je voudrais savoir le nombre de lignes qui est récupéré.
Comment faire? y a t-il une fonction pour çà??
 
Merci A++




 
Tu peux gérer ça au niveau SQL par contre. Avant de faire ta requête, tu fais la même requête, sauf qu'à la place de la désignation des champs à récupérer, tu mets un count (*)
Niveau perfs je sais pas trop ce que ça donne, ms ça doit pas être si mauvais que ça !

n°228018
Meliok
Posté le 15-10-2002 à 09:44:28  profilanswer
 

Methode alternative une peu moins bourrine :
 
rs.last();
rs.getRow()
 
....et rs.first() pour revenir au début


---------------
Eos 20d(kit) + 70-200 F4L + 50 F1.4 + 420 EX Powered®
n°228020
benou
Posté le 15-10-2002 à 09:46:54  profilanswer
 

Meliok a écrit a écrit :

Methode alternative une peu moins bourrine :
 
rs.last();
rs.getRow()
 
....et rs.first() pour revenir au début




tiens, tu me fais penser qu'il faudrait que j'aille au boulot ... ;)

n°228024
darklord
You're welcome
Posté le 15-10-2002 à 09:49:57  profilanswer
 

Meliok a écrit a écrit :

Methode alternative une peu moins bourrine :
 
rs.last();
rs.getRow()
 
....et rs.first() pour revenir au début




 
euh oui sauf que si ton driver est mal implémenté et que ta query a 10.000 résultats tu vas le sentir passé au niveau perf!


---------------
Just because you feel good does not make you right
n°228027
Meliok
Posté le 15-10-2002 à 09:51:41  profilanswer
 

DarkLord a écrit a écrit :

 
 
euh oui sauf que si ton driver est mal implémenté et que ta query a 10.000 résultats tu vas le sentir passé au niveau perf!




 
oui, çà c'est clair, enfin, pas plus que si tu les parcoures tous un à un ;)


---------------
Eos 20d(kit) + 70-200 F4L + 50 F1.4 + 420 EX Powered®
n°228035
darklord
You're welcome
Posté le 15-10-2002 à 09:56:54  profilanswer
 

Meliok a écrit a écrit :

 
 
oui, çà c'est clair, enfin, pas plus que si tu les parcoures tous un à un ;)




 
bin si justement ... La différence c'est que si tu les parcours un à un pour les stocker quelque part ou autre bin c'est "progressif" tandis que la tu parcours 10.000 enregistrement juste pour savoir qu'il y en a 10.000 (et donc après tu vas recommencer à tout reparcourir). C'est légèrement différent ;)


---------------
Just because you feel good does not make you right

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Un truc tout simple je pense...

 

Sujets relatifs
Système **simple** de templatesVBA tt simple pour certain mais pas pour moi
VBA cherche a faire un truc pas evident[MySQL] quote simple (apostrophe) et quote simple oblique (AltGr 8)
Question simple sur les classes amiesPeut on faire un truc du style wait() dans un .bat ?
[flash] un truc tout bete, recuperer la valeur d'un bouton radiorequete SQL... petite question toute simple... Help please
recherche chat SIMPLEEncore un truc à la mords moi le noeud!!!!
Plus de sujets relatifs à : Un truc tout simple je pense...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR