PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

PSQLException :ResultSet n'est pas positionné correctement, vous devez peut-être appeler ensuite

L'erreur vous dit exactement qu'est-ce qui ne va pas - vous n'appelez pas next() sur votre ResultSet pour accéder à la première ligne des résultats.

Cette ligne :

if(rs!=null)

est inutile pour autant que je sache; Je ne crois pas executeQuery renverra jamais null. S'il y a un problème dans votre requête, une exception sera levée. S'il n'y a pas de résultats, il renverra un jeu de résultats vide. Pour voir s'il y a une ligne, vous devez appeler next() et vérifiez la valeur de retour :

if (rs.next())

De plus :

  • Attraper une exception et simplement imprimer la trace de la pile sans relancer est presque toujours la mauvaise approche
  • Votre code suggère que vous stockez les mots de passe en texte brut. S'il vous plaît ne le faites pas. Vraiment, vraiment pas.