comment trouver le nombre d'enregistrements dans le jeu de résultat
Je suis ResultSet
après un Oracle de la requête. quand je itération dans la ResultSet
sa va dans une boucle infinie.
ResultSet rs = (ResultSet) //getting from statement
while (rs.next()) {
//
//
}
cette boucle n'est pas appelé à disparaître alors, j'ai essayé de trouver le nombre d'enregistrements à l'aide rs.getFetchSize()
et son retour d'une valeur 10.
Je veux savoir si c'est la bonne méthode pour trouver le nombre d'enregistrements dans le jeu de résultat et si le nombre est 10 pourquoi est-ce qu'il va dans une boucle infinie.
Veuillez donner votre opinion.
Est-il étrange de code à l'intérieur de la boucle qui peut provoquer le blocage? Ce qui se passe quand vous marchez à travers elle avec le débogueur?
pourquoi ne pas essayer de changer la requête d'un comptage et de travailler sur le nombre de lignes renvoyées par la requête...
nan.. il y a quelques getter appel de méthode, c'est tout..
Je suis de l'appel d'une procédure stockée dans un autre serveur par look méthode donc je ne peux pas faire cela.
Double de stackoverflow.com/questions/7545820/...
pourquoi ne pas essayer de changer la requête d'un comptage et de travailler sur le nombre de lignes renvoyées par la requête...
nan.. il y a quelques getter appel de méthode, c'est tout..
Je suis de l'appel d'une procédure stockée dans un autre serveur par look méthode donc je ne peux pas faire cela.
Double de stackoverflow.com/questions/7545820/...
OriginalL'auteur dku.rajkumar | 2011-12-01
Vous devez vous connecter pour publier un commentaire.
En fait, le jeu de résultats n'ont pas la moindre idée sur le nombre réel de lignes il sera de retour.
En fait, à l'aide d'une requête hiérarchique ou d'un pipeline de la fonction, le nombre peut aussi bien être infini. 10 est le nombre de lignes du jeu de résultats doit/va essayer de récupérer en une seule opération. (voir le commentaire ci-dessous).
Il est préférable de vérifier votre requête, si elle renvoie plus de lignes que vous attendez.
Marque: Merci, corrigé.
OriginalL'auteur Erich Kitzmueller
De connaître le nombre d'enregistrements présents, essayez le code suivant
int
deint numberOfRecords = rs.getRow();
De toute façon, si la boucle n'a pas fonctionné, cette méthode ne sera probablement accrocher tout aussi bien.
OriginalL'auteur Sunil Kumar Sahoo
Un simple getRowCount méthode peut ressembler à ceci :
Votre jeu de résultats devrait être de défilement pour utiliser cette méthode.
Juste regardé ce qui semble être sur les mêmes lignes sur ce question
OriginalL'auteur mprabhat
Lorsque vous exécutez une requête et obtenir un jeu de résultats, je dirais que c'est vraiment à ce moment que vous ou même le programme-auto n'ont pas réellement combien de résultats retournés, ce cas est très similaire Oracle CURSEUR, il est juste de déclarer à l'Oracle que vous voulez faire une telle requête, par conséquent, nous devons alors pour chaque jeu de résultats à obtenir ligne, un par un, jusqu'à la dernière.
Que ci-dessus, les gars prêt a répondu: rs.dernier va se répéter pour une durée d'un à cette époque, le programme a la capacité de faire totalement le nombre de lignes sera retourné.
OriginalL'auteur C.c
OriginalL'auteur Susovan Kayra
J'ai eu la réponse:- Le ci-dessous sont les étapes que vous devez suivre:
Puis utilisez les étapes ci-dessous:
où
rs
est l'objet de laResultSet
.Alors vous obtiendrez le nombre exact de nombre de lignes.
OriginalL'auteur Ashok Baghele