Wirf mit etwas Code eine SELECT-Abfrage. Es gab einen Ort, an dem das Erfassungsergebnis in der Variablen rset vom Typ ** ResultSet ** gespeichert wurde.
Ich wollte die Anzahl der Elemente in rset überprüfen, um den Code zu lesen Ich habe den folgenden Code in der Mitte hinzugefügt und ausgeführt.
example.java
int testIndex = 0;
while(rset.next()){
System.out.println("Ich möchte die Anzahl der Elemente in rset überprüfen");
System.out.println(++testIndex);
}
Dann (obwohl es bis dahin normal abgeschlossen war) In dem darauf folgenden Prozess trat die folgende Ausnahme auf.
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
Als ich es seltsam fand, stellte ich fest, dass next () falsch verstanden wurde. Es gibt auch eine Funktion, um von der aktuellen Position zur nächsten Zeile zu gelangen und den Cursor darauf zu platzieren.
Im obigen Code habe ich die Schleife mit dem Cursor auf das letzte Element verlassen. Im folgenden Satz gibt es kein Element, um den nächsten Cursor zu treffen. Die obige Ausnahme ist aufgetreten.
Gleichzeitig möchte ich bei next () von ResultSet vorsichtig sein Ich habe gelernt, dass der Code, den ich zum Lesen hinzugefügt habe, schlecht sein kann.
Resultsets next () ist keine "Methode, um festzustellen, ob es ein ResultSet next gibt".
Recommended Posts