Dall'eccezione sembra che tu stia cercando di leggere i dati dal ResultSet dopo che questo è stato chiuso.
Un ResultSet può risultare chiuso in 3 casi:
1) Dopo una esplicita chiamata a rs.close();
2) Dopo una esplicita chiamata a stmt.close(); (dove stmt è lo Statement che l'ha generato)
3) Dopo una esplicita chiamata a con.close(); (dove con è la Connection al database)
Esiste anche una quarta possibilità (non ricordo, però, se effettivamente l'Exception sollevata sia quella o altra simile), ma non credo sia il tuo caso (almeno non ho elementi per poterlo supporre, visto che il codice postato è effettivamente troppo poco).
Ad ogni modo un consiglio: nel while() in cui scorri il ResultSet prima di tutto dovresti leggere i valori dal ResultSet e memorizzarli all'interno di variabili / beans. Dopodichè tutte le elaborazioni sui valori falle direttamente sulle variabili / beans, non più sul ResultSet. Ossia:
Questo ti evita un sacco di problemi subdoli dovuti a "particolarità" dipendenti dal DBMS...codice:while( rs.next() ) { // Prima leggo il ResultSet String id = rs.getString("id"); String user = rs.getString("user"); String pwd = rs.getString("password"); // Le elaborazioni ora le faccio sulle variabili e non più sul ResultSet (questo non lo tocco più) if (username.equals(user) && password.equals(pwd) ... ) { ... } }
Ciao.![]()



Rispondi quotando