Salve a tutti, mi sto avvicinando adesso a java e stavo provando a creare una piccola rubrica utilizzando un data base sqlite ma ho un piccolo problema che non riesco a capire.
ho scritto una classe database nella quale ho questi 2 metodi;

codice:
public void connetti(){
        try{
            Class.forName("org.sqlite.JDBC");
            Connection conn = DriverManager.getConnection("jdbc:sqlite:rubrica.sqlite");
            connesso=true;
            System.out.println("Connessione stabilita");
        }
        catch (Exception e){
            System.out.println("Errore caricamento driver");
        }
    }
e questo

codice:
public ArrayList dati(){
        if (connesso==false){
             connetti();
         }
        ArrayList<contatto> lista = new ArrayList<contatto>();
        try{
            // Class.forName("org.sqlite.JDBC");
            // Connection conn = DriverManager.getConnection("jdbc:sqlite:rubrica.sqlite");
            // connesso=true;
            // System.out.println("Connessione stabilita");
            Statement stat = conn.createStatement();
            ResultSet rs = stat.executeQuery("Select * from contatti");
            while (rs.next()){
                int id = rs.getInt("id");
                String cognome=rs.getString("cognome");
                String nome=rs.getString("nome");
                String indirizzo=rs.getString("indirizzo");
                String citta=rs.getString("citta");
                String telefono=rs.getString("telefono");
                contatto nuovo = new contatto(id,cognome,nome,indirizzo,citta,telefono);
                lista.add(nuovo); 
               
            }
        }
        catch (Exception e){
            System.out.println("Errore");
        }
        return lista;
    }
il problema sta nel fatto che se nel metodo ArrayList dati() metto la condizione che se la connessione non č stabilita richiamo il metodo per stabilirla in esecuzione mi da un errore...
se invece tolgo la condizione e tolgo i simboli // allora tutto funziona...

perche se carico i driver effettuo la connessione e creo lo statement tutto in un solo metodo funziona mentre invece se stabilisco la connessione in un metodo e creo lo statement in un altro mi va in errore?