Mysql
 sql >> Database >  >> RDS >> Mysql

javafx Tableview non mostra i dati dal database

In getRoom.rmview metodo che riempi assegna i campi della rmview istanza ancora e ancora, ma non modifichi mai il roomlist di rmview non viene mai modificato; rimane vuoto. Dato che usi roomlist nel TableView , non ci sono dati da mostrare.

Dovresti invece aggiungere un nuovo elemento per ogni riga restituita dalla query del database:

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

Inoltre consiglio di aderire alle le convenzioni di denominazione . Soprattutto la parte sulle abbreviazioni poiché ciò rende il tuo codice difficile da leggere per gli altri. Inoltre object è una cattiva scelta come nome per un parametro di tipo. Crea confusione e di solito vengono utilizzate lettere maiuscole singole per i parametri di tipo.

Anche lo scopo della rmlist la classe non è chiara. Contiene gli stessi campi di ListRoom , ma contiene anche un elenco in cui si desidera che i dati vengano effettivamente archiviati. Perché hai bisogno di quei campi? Hai bisogno di rmlist o potrebbe essere semplicemente sostituito con ObservableList<ListRoom> ?