sql >> Databáze >  >> RDS >> PostgreSQL

PSQLException:ResultSet není správně umístěn, možná budete muset zavolat jako další

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.


  1. Jak vyplnit chybějící data v MySQL?

  2. Jak zakázat všechna omezení kontroly v databázi SQL Server - SQL Server / TSQL výukový program, část 87

  3. Okamžitá inicializace souboru:Dopad během instalace

  4. Úvod do údržby záznamů