在我的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中打印表的所有行?