Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

javafx Tableview não mostrando dados do banco de dados


No getRoom.rmview método que você preenche atribui os campos do rmview instância repetidas vezes, mas você nunca modifica a roomlist de rmview nunca é modificado; permanece vazio. Como você usa roomlist no TableView , não há dados para mostrar.

Em vez disso, você deve adicionar um novo elemento para cada linha que a consulta do banco de dados retornar:
// 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)));
}

Além disso, recomendo aderir às as convenções de nomenclatura . Especialmente a parte sobre abreviações, pois isso torna seu código difícil de ler para outras pessoas. Além disso, object é uma má escolha como nome para um parâmetro de tipo. Isso leva à confusão e, geralmente, letras maiúsculas simples são usadas para parâmetros de tipo.

Também o propósito da rmlist classe não é clara. Ele contém os mesmos campos que ListRoom , mas também contém uma lista onde você deseja que os dados sejam realmente armazenados. Por que você precisa desses campos? Você precisa de rmlist ou poderia ser substituído por ObservableList<ListRoom> ?