aktualizacja bazy

0

Hej :) piszę program z urządzeniami. Zrobiłam guzik z dodawanie, usuwaniem, edycją, ale nie dziala mi zapisanie edycji :(
może ma ktoś jakieś propozycje?
Chciałam dodać, że rekord mi się zmienia, ale widzę dopiero jak ponownie uruchomię program. Nie robi mi tego na bieżąco.

Jestem początkująca więc prosiłabym też o wyrozumiałość.:)

Poniżej przesyłam fragment kodu.

 
    private void zapiszButtonActionPerformed(java.awt.event.ActionEvent evt) {                                             

        int Id = Integer.valueOf(jTextFieldId.getText());
        String Typ = TypCombo.getSelectedItem().toString();
        String Marka = jTextFieldMarka.getText();
        String Model = jTextFieldModel.getText();
        int Gwarancja = Integer.valueOf(jComboBoxGwarancja.getSelectedItem().toString());
        String RokProdukcji = jTextFieldRok.getText();
        String System = jComboBoxSystem.getSelectedItem().toString();

        String zapytanie = "Update Telefony set Id='" + Id + "',typ='" + Typ + "',Marka='" + Marka + "',Model='"
                + Model + "',Gwarancja='" + Gwarancja + "',RokProdukcji='" + RokProdukcji + "',System='" + System + "' where id='"
                + Id + "'";

        try {
            stm.executeUpdate(zapytanie);
        } catch (SQLException ex) {
            Logger.getLogger(ProjektMagazyn.class.getName()).log(Level.SEVERE, null, ex);
        }
        JOptionPane.showMessageDialog(null, "Edycja została zakończona pomyślnie");


    }     
0

W ogóle Twoim problemem jest to, że bawisz się w ręczne składanie zapytań w taki sposób.
Poczytaj o ORM, Hibernate (...).

Nie mówiąc o tym, że napisanie "program nie działa" to tak, jakbyś poszła do lekarza i jedyne co powiedziała to "swędzi".

0

Z załączonego kodu nie wiadomo co ma się odświeżać.

0

Prowadź dyskusję w postach, nie w komentarzach. W pierwszym poście nie było słowa o JTable ani o modelu. Nadpisałaś w modelu metodę setValueAt?

0

nie, ale z tym też mi nie działało jak robiłam wcześniej. albo źle pisałam..

0

W zamieszczonym kodzie nie ma żadnych zmian w modelu, dlaczego oczekujesz, że coś się zmieni w JTable?

0

pisałam z setValueAt ale mi nie działało. I po dłuższym czasie jak z tym walczę nie działa mi.. więc stwierdziłam, że tu napiszę. Może źle wykorzystywałam to.. nie wiem.

0

Edycja odbywa się tylko na bazie danych, żeby było widoczne w widoku aplikacji (np. tabeli) musisz ją jeszcze odświeżać, stąd ponowne uruchomienie programu daje oczekiwany efekt. W jaki sposób odświeżasz widok po dodaniu rekordu oraz usunięciu?

0
 jTable1.setValueAt(Typ, (Id-1), 1);//typ
        jTable1.setValueAt(Marka, (Id-1), 2);//marka
        jTable1.setValueAt(Model, (Id-1), 3);
        jTable1.setValueAt(Gwarancja, (Id-1), 4);
        jTable1.setValueAt(RokProdukcji, (Id-1), 5);
        jTable1.setValueAt(System, (Id-1), 6);

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