Aplikacja bazy danych con = null;

0

Witam
Posiadam dwie klasy:

public class DBCon {
    private static Connection con;
    public static Connection getConnection(){
        if(con==null){
            try{
                Class.forName("com.mysql.jdbc.Driver");
                Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "root", "");
            } catch (SQLException ex) {
                Logger.getLogger(DBCon.class.getName()).log(Level.SEVERE, null, ex);
            } catch (ClassNotFoundException ex) {
                Logger.getLogger(DBCon.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
        return con;
    }
}

oraz drugą

public class Ankieta {
    public static void main(String[] args) {
        Ankieta a = new Ankieta(); 
    }
    public Ankieta(){       
        try {
            ResultSet rs = DBCon.getConnection().createStatement().executeQuery("SELECT * FROM wykladowcy");
        } catch (SQLException ex) {
            Logger.getLogger(Ankieta.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}

Niestety nie mogę wyświetlić nic z bazy. Kiedy próbuję łączyć się bezpośrednio z klasy DBCon nie ma problemu, dopiero po rozdzieleniu połączenia zaczynają się schody.
Wiem, że problem leży w próbie połączenia poprzez getConnection() gdyż zwraca mi "null". Proszę Was o wyjaśnienie dlaczego tak się dzieje.
Z góry dzięki za odpowiedzi.
Pozdrawiam

1

W klasie dbcon tworzysz lokalna zmienna zamiast przypisać wartość to pola klasy...

0

Nawet jeśli usunę "private" bądź zamienię na public dostaję to samo.

Okej okej już mam zauważyłem swój błąd! :) dzięki za szybką odpowiedz!!!!!!

1 użytkowników online, w tym zalogowanych: 0, gości: 1