Mysql
 sql >> Baza danych >  >> RDS >> Mysql

javafx Tableview nie wyświetla danych z bazy danych

W getRoom.rmview metoda którą wypełnisz przypisz pola rmview raz za razem, ale nigdy nie modyfikujesz roomlist z rmview nigdy nie jest modyfikowany; pozostaje pusty. Ponieważ używasz roomlist w TableView , nie ma danych do wyświetlenia.

Zamiast tego powinieneś dodać nowy element dla każdego wiersza zwracanego przez zapytanie bazy danych:

// remove data previously in the list
rmList.roomlist.clear();

while (rs.next()){
    rmList.roomlist.add(new ListRoom(rs.getString(1),
                                     rs.getString(2),
                                     rs.getString(3),
                                     rs.getString(4),
                                     rs.getString(5)));
}

Ponadto zalecam przestrzeganie konwencji nazewnictwa . Zwłaszcza część o skrótach, ponieważ to sprawia, że ​​Twój kod jest trudny do odczytania dla innych. Ponadto object to zły wybór jako nazwa parametru typu. Prowadzi to do zamieszania i zwykle jako parametry typu używane są pojedyncze wielkie litery.

Również cel rmlist klasa jest niejasna. Zawiera te same pola co ListRoom , ale zawiera również listę, na której dane mają być faktycznie przechowywane. Dlaczego potrzebujesz tych pól? Czy potrzebujesz rmlist w ogóle, czy po prostu można go zastąpić ObservableList<ListRoom> ?




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nieznana kolumna na liście pól przy użyciu SUM(coś) AS a

  2. Nie można usunąć tabeli MySQL z powodu ograniczeń klucza obcego

  3. Kopiowanie danych z jednej tabeli do innej tabeli. Bazy danych są różne, a struktura tabel jest inna

  4. Pętla kątowa nie aktualizuje się

  5. mysql Błąd krytyczny:nie można przydzielić pamięci dla puli buforów