sql >> Databasteknik >  >> RDS >> Mysql

javafx Tabellvy visar inte data från databasen

I getRoom.rmview metod du fyller tilldela fälten i rmview instans om och om igen, men du ändrar aldrig roomlist av rmview ändras aldrig; den förblir tom. Eftersom du använder roomlist i TableView , det finns ingen data att visa.

Du bör istället lägga till ett nytt element för varje rad som databasfrågan returnerar:

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

Dessutom rekommenderar jag att du följer namnkonventionerna . Speciellt delen om förkortningar eftersom detta gör din kod svår att läsa för andra. Dessutom object är ett dåligt val som namn för en typparameter. Det leder till förvirring och vanligtvis används enstaka versaler för typparametrar.

Även syftet med rmlist klass är oklart. Den innehåller samma fält som ListRoom , men innehåller också en lista där du vill att data faktiskt ska lagras. Varför behöver du dessa fält? Behöver du rmlist alls eller kan den bara ersättas med ObservableList<ListRoom> ?




  1. MySQL grupperar resultat efter tidsperioder

  2. LATERAL JOIN använder inte trigramindex

  3. MySql-data trunkerade för kolumn "avancera" på rad 1

  4. Hur returnerar man en boolen i refcursor?