Błąd mówi Ci dokładnie co jest nie tak - nie wywołujesz next()
w zestawie wyników, aby przejść do pierwszego wiersza wyników.
Ta linia:
if(rs!=null)
jest bezcelowe, o ile wiem; Nie wierzę, że executeQuery
kiedykolwiek zwróci wartość null. Jeśli w zapytaniu wystąpi problem, zostanie zgłoszony wyjątek. Jeśli nie ma wyników, zwróci pusty zestaw wyników. Aby sprawdzić, czy jest wiersz, należy wywołać next()
i sprawdź zwracaną wartość:
if (rs.next())
Dodatkowo:
- Złapanie wyjątku i wydrukowanie śladu stosu bez ponownego zgłaszania to prawie zawsze złe podejście
- Twój kod sugeruje, że przechowujesz hasła w postaci zwykłego tekstu. Proszę nie. Naprawdę, naprawdę nie.