ResultSet-Ausnahme: „Vor dem Start des Ergebnissatzes“
Beim Abrufen von Daten aus einem ResultSet-Objekt kann es zu einer Ausnahme mit der Meldung kommen „Vor Beginn der Ergebnismenge.“ Dieser Fehler tritt auf, wenn versucht wird, auf Ergebnisdaten zuzugreifen, bevor der Cursor in die erste Zeile bewegt wurde.
Um dieses Problem zu beheben, stellen Sie sicher, dass Sie den Cursor explizit mit der Methode next() in die erste Zeile bewegen, bevor Sie es versuchen um Daten abzurufen. Der korrigierte Code unten veranschaulicht diese Korrektur:
ResultSet result = prep.executeQuery(); if (result.next()) { // Move cursor to first row String foundType = result.getString(1); if (!foundType.equals("meet")) { throw new IllegalArgumentException(String.format("Node %d must be of type 'meet', but was %s", meetNID, foundType)); } }
Alternativ können Sie eine While-Schleife verwenden, um die Ergebnismenge zu durchlaufen und dabei den Cursor durch jede Zeile zu bewegen, bis keine weiteren Zeilen mehr zu verarbeiten sind:
ResultSet result = prep.executeQuery(); while (result.next()) { String foundType = result.getString(1); if (!foundType.equals("meet")) { throw new IllegalArgumentException(String.format("Node %d must be of type 'meet', but was %s", meetNID, foundType)); } }
Indem Sie den Cursor in die erste Zeile bewegen (oder die Ergebnismenge mithilfe einer Schleife durchlaufen), können Sie erfolgreich Daten abrufen und Ausnahmen behandeln anmutig.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Zugriff auf ResultSet-Daten die Ausnahme „Vor dem Start des Ergebnissatzes'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!