Witam mam problem, chociaż dziwie się ze go mam...
Mam 2 klasy
1 klasa - okienko swinga w ktorym (w konstruktorze) tworze połączenie do bazy danych, wszystko jest ok.
Nastepnie klikam na button i otwieram nowe okno
ActionListener DODAJOSOBE = new ActionListener()
{
public void actionPerformed(ActionEvent z)
{
RamkaDodaOSOBE ramka = new RamkaDodajOSOBE(conn); // conn lub stmt
ramka.setVisible(true);
}
};
2 klasa - tutaj jest tylko pole JTextField i button OK.
ActionListener OK = new ActionListener()
{
public void actionPerformed(ActionEvent z)
{
int i;
try
{
Statement st = c.createStatement();
ResultSet chrset = st.executeQuery("SELECT MAX(id) from Osoby");
i = Integer.parseInt(chrset.getString(1));
st.close();
PreparedStatement pst = c.prepareStatement("INSERT INTO Osoby VALUES(?,?,0,0)");
pst.setObject(1,i+1);
pst.setObject(2,poleT.getText());
int n = pst.executeUpdate();
System.out.println("Osoba dodana");
c.close(); // tutaj nie jestem pewny co powinienem zamknąć ... ale tak czy siak to i to nie działa
}
catch (SQLException e)
{
}
setVisible(false);
p.setVisible(false);
}
};
Problem polega na tym że executeQuery czy tam executeUpdate nie wykonuje się w 2 klasie. Próbowałem przekazać w parametrach i Connection i Statement i dalej nic :(
Gdy umieszczam wszystko w pierwszej klasie to działa