[JAVA] Der Fall, in dem das nächste () der Ergebnismenge mit der Beurteilungsmethode verwechselt wurde, ob es das nächste gibt

Veranstaltung

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

Es sollte lesen, aber es war kaputt

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.

Artikel, die ich als Referenz verwendet habe

Resultsets next () ist keine "Methode, um festzustellen, ob es ein ResultSet next gibt".

Recommended Posts

Der Fall, in dem das nächste () der Ergebnismenge mit der Beurteilungsmethode verwechselt wurde, ob es das nächste gibt
Resultsets next () ist keine "Methode, um festzustellen, ob es ein ResultSet next gibt".
Verwenden Sie den Modifikator # isStatic, um festzustellen, ob die Methode [Reflection] statisch ist.
Wenn es einen Statusübergang gibt, erstellen wir eine Statusklasse
wenn case sei b als Int = a schneller als wenn sei b = a als? Int
Erstellen Sie abschließend eine Methode, um festzustellen, ob ein Zeichen vorhanden ist
So erstellen Sie eine Methode
WSL2 Es gab nur einen stetigen Weg, Ubuntu20.04 zurück zu WSL1 zu bringen
Was tun, wenn Sie mit Reißverschluss sterben, wenn Sie Pom haben, wenn Sie ein ausführbares Glas mit Gradle erstellen?