sql >> Databáze >  >> RDS >> Mysql

javafx Tableview nezobrazuje data z databáze

V getRoom.rmview metoda, kterou vyplníte, přiřaďte polím rmview instance znovu a znovu, ale nikdy neupravíte roomlist rmview nikdy se nemění; zůstává prázdný. Protože používáte roomlist v TableView , nejsou k dispozici žádná data k zobrazení.

Místo toho byste měli přidat nový prvek pro každý řádek, který databázový dotaz vrátí:

// 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)));
}

Dále doporučuji dodržovat konvence pro pojmenování . Zejména část o zkratkách, protože kvůli tomu je váš kód pro ostatní obtížně čitelný. Dále object je špatná volba jako název parametru typu. To vede k nejasnostem a pro parametry typu se obvykle používají jediná velká písmena.

Také účel rmlist třída je nejasná. Obsahuje stejná pole jako ListRoom , ale také obsahuje seznam, kam chcete data skutečně uložit. Proč potřebujete tato pole? Potřebujete rmlist vůbec nebo by to šlo jen nahradit ObservableList<ListRoom> ?




  1. Připojení k postgresu ze strojopisu přestane fungovat

  2. SQL Oracle:Nahraďte prázdný výsledek slovem

  3. vztah již existuje po přidání pole Many2many v odoo

  4. Jak mohu naformátovat MySQL TIMEDIFF bez sekund?