Je vois souvent des gens à faire Ne devriez-vous pas faire à la place tandis que (Resulatset.Next (Next ()) {...} code> mais ne saute pas la première ligne? Il passe directement à la rangée suivante. P>
do {...} tandis que (Resultats.Next (Next ()); Code>? P>
4 Réponses :
Non, il ne saute pas la première rangée. p>
Donc, en fait, le suivant () code> est requis pour être appelé avant fort> traiter la première ligne. p>
do ... tandis que code> solution ne fonctionne pas, car les Resulats ne seraient pas correctement positionnés pour la première itération de la boucle. P>
Non, lisez le Suivant () Java Docs P>
déplace le curseur d'une ligne d'une ligne de sa position actuelle. Un curseur de résultatsset est initialement positionné avant la première rangée; Le premier appel
à la méthode suivante fait la première ligne de la ligne actuelle forte> p> blockQuote>
selon la spécification: p>
Un curseur de résultatsset est initialement positionné avant la première rangée; P> blockQuote>
En réalité, le premier
suivant () code> positionnera le curseur à la première ligne. Voir Javadoc officiel p>
Ce n'est pas. P>
Si vous essayez d'appeler ResultatsSet code> contient un curseur interne, qui commence avant fort> le premier élément. P>
résultatsset.GetString ("quelque chose") code> Avant de déplacer le curseur d'ici, cela échouera (pourquoi ne pas l'essayer). P>
tandis que (RESEILLET.NEXT (NEXT (NEXT (NEXT (NEXT (NEXT ()) {...} code> est le moyen préféré de itérer via un
ResultSet code> p> P>
Essayez d'accéder au premier résultat avant d'utiliser Suivant ();).