Avec un peu de code, lancez une requête SELECT, Il y avait un endroit où le résultat de l'acquisition était stocké dans la ** variable de type ResultSet rset **.
Je voulais vérifier le nombre d'éléments dans rset pour lire le code, donc J'ai ajouté le code suivant au milieu et l'ai exécuté.
example.java
int testIndex = 0;
while(rset.next()){
System.out.println("Je veux vérifier le nombre d'éléments dans rset");
System.out.println(++testIndex);
}
Puis (bien qu'il ait été terminé normalement jusque-là) Dans le processus qui a suivi, l'exception suivante s'est produite.
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
Quand j'ai pensé que c'était étrange, j'ai trouvé que next () était mal compris. Il existe également une fonction pour passer à la ligne suivante à partir de la position actuelle et placer le curseur dessus.
Dans le code ci-dessus, j'ai quitté la boucle avec le curseur sur le dernier élément, Dans le rset suivant, il n'y a aucun élément pour frapper le curseur suivant, L'exception ci-dessus s'est produite.
En même temps, je veux faire attention à next () de ResultSet J'ai appris que le code que j'ai ajouté temporairement pour la lecture peut être mauvais.
Next () de Resultset n'est pas une "méthode pour déterminer s'il y a un ResultSet next".
Recommended Posts