PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

PSQLException:ResultSet nicht richtig positioniert, vielleicht müssen Sie als nächstes aufrufen

Der Fehler sagt Ihnen genau Was ist falsch - Sie rufen nicht next() auf auf Ihrem ResultSet, um zur ersten Zeile der Ergebnisse zu gelangen.

Diese Zeile:

if(rs!=null)

ist soweit ich weiß sinnlos; Ich glaube executeQuery nicht wird jemals null zurückgeben. Wenn bei Ihrer Abfrage ein Problem auftritt, wird eine Ausnahme ausgelöst. Wenn es keine Ergebnisse gibt, wird eine leere Ergebnismenge zurückgegeben. Um zu sehen, ob es eine Zeile gibt, sollten Sie next() aufrufen und prüfen Sie den Rückgabewert:

if (rs.next())

Zusätzlich:

  • Eine Ausnahme abzufangen und nur den Stack-Trace ohne erneutes Auslösen zu drucken, ist fast immer der falsche Ansatz
  • Ihr Code suggeriert, dass Sie Passwörter im Klartext speichern. Bitte nicht. Wirklich, wirklich nicht.