Buongiorno.
Devo creare un metodo che mi legga l'intero contenuto di una tabella di un database. Il database dell'esercizio è così formato:
(Matricola chiave primaria, Nome, Cognome, Timbrature)
Il metodo che ho scritto è questo
Che a sua volta richiama il metodo cercaUtente che è quello qui sottocodice:public void printAll() throws ClassNotFoundException, SQLException{ Ricerca search = new Ricerca(); UserInterface ui = new UserInterface(); Connection con = null; Statement stmt = null; ResultSet rs = null; int matricola = 0, righe = 0; try { Class.forName(CLASS_NAME); con = DriverManager.getConnection(URL, USERNAME, PASSWORD); String sql = "SELECT * FROM utenti"; stmt = con.createStatement(); rs = stmt.executeQuery(sql); rs.last(); righe = rs.getRow(); rs.beforeFirst(); for (int i = 0; i < righe; i++){ while (rs.nextRow()){ Utente user = new Utente(); matricola = rs.getInt(4); user = search.cercaUtente(matricola); ui.stampaUtente(user); } } } finally{ rs.close(); stmt.close(); con.close(); } }
Il metodo cercaUtente restituisce una istanza della classe Utente che ha gli stessi attributi presenti nella tabella del database.codice:public Utente cercaUtente(int matricola) throws ClassNotFoundException, SQLException { Connection con = null; Statement stmt = null; Utente utente = new Utente(); try { Class.forName(CLASS_NAME); con = DriverManager.getConnection(URL, USERNAME, PASSWORD); stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM utenti WHERE matricola = " + matricola); while (rs.next()) { utente.setMatricola(rs.getInt(1)); utente.setNome(rs.getString(2)); utente.setCognome(rs.getString(3)); utente.setTimbrature(rs.getInt(4)); } } finally { stmt.close(); con.close(); } return utente; }
Attualmente, dopo i vari esperimenti di inserimento e cancellazione, la tabella ha sei righe, il programma me le stampa tutte e sei, ma hanno tutti i valori settati a null.
Utente [matricola=0, nome=null, cognome=null, timbrature=0]
Utente [matricola=0, nome=null, cognome=null, timbrature=0]
Utente [matricola=0, nome=null, cognome=null, timbrature=0]
Utente [matricola=0, nome=null, cognome=null, timbrature=0]
Utente [matricola=0, nome=null, cognome=null, timbrature=0]
Utente [matricola=0, nome=null, cognome=null, timbrature=0]
Perchè mi accade questo? Cosa ho cannato nel codice?
Ringrazio in anticipo chi mi aiuterà!

Rispondi quotando

