Chyba vám říká přesně co je špatně - nevoláte next()
na vaší ResultSet, abyste se dostali na první řádek výsledků.
Tento řádek:
if(rs!=null)
je zbytečné, pokud vím; Nevěřím executeQuery
se někdy vrátí nula. Pokud je ve vašem dotazu problém, bude vyvolána výjimka. Pokud nejsou žádné výsledky, vrátí prázdnou sadu výsledků. Chcete-li zjistit, zda existuje řádek, měli byste zavolat next()
a zkontrolujte návratovou hodnotu:
if (rs.next())
Navíc:
- Zachytit výjimku a pouze vytisknout trasování zásobníku bez opětovného vyvolání je téměř vždy špatný přístup
- Váš kód naznačuje, že hesla ukládáte jako prostý text. Prosím ne. Opravdu, opravdu ne.