【发布时间】:2025-12-05 01:00:02
【问题描述】:
在我的 GUI 中,有“搜索”菜单项,它应该在 Faculty 表中搜索 ssn 编号并将它们打印到 javabook 数据库中的 TextArea 中。但是,我只得到有 15 行的表的最后一行。 这是调用 searchDB 方法的 Search menuItem。
MenuItem search = new MenuItem("Search");
search.setOnAction((ActionEvent t) -> {
try{
searchDB(tArea);
}
catch(Exception ex){
ex.printStackTrace();
}
});
这里是 searchDB 方法。
public void searchDB(TextArea tArea) throws SQLException, ClassNotFoundException {
if (databaseName != null) {
TextInputDialog dialog = new TextInputDialog();
dialog.setContentText("Please enter Faculty ssn number follwing by %");
Optional<String> search_id = dialog.showAndWait();
try {
Class.forName("com.mysql.jdbc.Driver");
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost/" +databaseName+ "?autoReconnect=true&useSSL=false", "scott", "tiger");
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("select * from Faculty where ssn like '" + search_id.get() + "';");
while (resultSet.next())
tArea.setText(resultSet.getString(1) + "\t" + resultSet.getString(2) + "\t" + resultSet.getString(4) + "\t" + resultSet.getString(5));
}catch(Exception ex){
ex.printStackTrace();
}
}
}
你能解释一下为什么我只得到表格的最后一行吗?以及如何在TextArea中打印表格的所有行?
【问题讨论】:
标签: java mysql database javafx