[java mysql] Edycja rekordów


(Aglasek) #1

Witam,

Zrobiłem już dodawanie i usuwanie a teraz chcę zrobić edycję rekordów w java (swing) z bazą mysql. Jestem lamerem jeszcze w tych sprawach :wink: Chodzi mi o wczytanie zaznaczonego rekordu z tabeli do formularza. Okno z tabelą to jedna klasa a okno z formularzem do druga. Wyobrażam to sobie tak:

//polaczenie do bazy itp.

            Statement st = connection.createStatement();


           int zaznaczonyRekord = myTable.getSelectedRow();

            ResultSet rs = st.executeQuery("SELECT * FROM naz_tab where Nr = "+zaznaczonyRekord); //tu pobieram zaznaczony rekord


            int id = rs.getInt("Nr");

            String imie = rs.getString("Imie");

            String nazwisko = rs.getString("Nazwisko");


            String query = "SELECT * FROM naz_tab where Nr = " + zaznaczonyRekord;


            Formularz formularz = new Formularz(this,true,query); //tu tworze obiekt tej drugiej klasy z formularzem i w parametrze przesyłam dane zaznaczonego rekordu


            formularz.setVisible(true); //wyswietlam okno z uzupełnionymi formularzami zaznaczonego wcześniej rekordu

Wiem, że to nie trzyma sie kupy ale pomóżcie co mam zrobić by wyświetlić zaznaczony rekord w formularzach?


([alex]) #2

Lepiej nie pobieraj danych z tabeli ponieważ mogą być już nie aktualne.

Wydaje mi się że myTable.getSelectedRow(); zwróci ci tylko i wyłącznie numer rekordu w tabeli co owszem może mieć tą samą wartością co pole Nr z bazy pod warunkiem że w tabeli są wszystkie rekordy z bazy oraz nikt nigdy nie zrobił żadnego usunięcia.

Więc pobierz z tabeli tylko pole Nr później wyciągnij wartości pól i je wyświetl.


(Aglasek) #3

jakoś sobie poradziłem jednak czy mógłby ktoś mi jeszcze pomóc w czymś tzn. pracuje w NetBeansie i tabele dodałem metodą przyciągnij i upuść a następnie we właściwościach tabeli w zakładce 'rows' dodałem kilka wierszy lecz rekordów z bazy wyświetla się tyle ile dodałem ręcznie wierszy nie więcej i chciałbym to obsłużyć lecz nie za bardzo wiem jak ;/