El error te dice exactamente lo que está mal - no estás llamando a next()
en su ResultSet para llegar a la primera fila de los resultados.
Esta línea:
if(rs!=null)
no tiene sentido hasta donde yo sé; No creo executeQuery
nunca volverá nulo. Si hay un problema en su consulta, se lanzará una excepción. Si no hay resultados, devolverá un conjunto de resultados vacío. Para ver si hay una fila, debe llamar a next()
y verifique el valor devuelto:
if (rs.next())
Además:
- Atrapar una excepción y simplemente imprimir el seguimiento de la pila sin volver a generar es casi siempre el enfoque equivocado
- Su código sugiere que está almacenando contraseñas en texto sin formato. Por favor, no. De verdad, de verdad que no.