0
我試圖從MySQL數據庫的表中讀取一些值。該表只有一列和四行。我的代碼如下。我知道如何讀取所有的值。但是當您查看代碼時,您可以瞭解只能顯示數據庫中的一個值,即表格的最後一個值(最後一行的值)。哪個是從數據庫中讀取值並顯示的最佳方法?
我需要的是顯示錶中的所有值。我不是一個有經驗的程序員。那麼告訴我如何讀取和顯示錶格中的所有值。還有一個條件 - 我需要表中每個值的不同按鈕名稱,以便我可以將setOnAction()函數添加到每個按鈕。
如果有比使用按鈕更好的主意,請告訴我。但它不應該是複雜的。
private VBox userSelection() throws ClassNotFoundException, SQLException {
VBox vb1 = new VBox();
vb1.setPadding(new Insets(40, 150, 20, 150));
vb1.setSpacing(20);
Button b = null;
Text scenetitle2 = new Text("Choose Your Account");
scenetitle2.setFont(Font.font("Tahoma", FontWeight.BOLD, 20));
Class.forName("com.mysql.jdbc.Driver");
connect = DriverManager
.getConnection("jdbc:mysql://localhost:3306/project?"
+ "user=root&password=virus");
statement = connect.createStatement();
rs = statement.executeQuery("select * from user");
while (rs.next()) {
String username = rs.getString("staffname");
b = new Button(username);
b.setFont(Font.font("Calibri", FontWeight.BOLD, 17));
b.setStyle(" -fx-base: #333333;");
b.setTextFill(Color.WHITE);
b.setPrefSize(150,30);
}
vb1.getChildren().addAll(scenetitle2,b);
return vb1;
}
謝謝你。還有1個問題在那裏。所有按鈕都具有相同的名稱。那麼我怎樣才能使每個按鈕的setOnAction()函數都可以使用。 – TomJ
同樣,在將按鈕添加到VBox之前,在While循環中添加setOnAction(),請參閱編輯代碼 – Perneel
它會工作嗎?我的意思是,如果按鈕名稱相同,會引起一些問題或矛盾。 – TomJ