java - 将表的所有行打印到javabook数据库中的TextArea中

标签 java mysql database javafx

在我的GUI中,有“搜索”菜单项,它应该在Faculty表中搜索ssn号并将其打印到javabook数据库中的TextArea中。但是,我只获取了包含 15 行的表的最后一行。 这是调用 searchDB 方法的搜索菜单项。

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

最佳答案

这是因为您正在使用setText(),请改用append()。检查javadoc对于文本区域。

关于java - 将表的所有行打印到javabook数据库中的TextArea中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47297348/

相关文章:

mysql - 选择一行,上面一行和下面一行

database - 将 Magento 站点从 Localhost 迁移到 Live。获取和错误

java - 使用java读取txt文件的特定部分

java - 控制分页器的位置

java - 如何使用特定联系人从其他应用程序打开 Whatsapp?

MySQL : on creating foreign key geting error no : 150

php - 如何在多维 PHP 数组中有效定位键值对?

mysql - 如何创建Mysql动态带条件查询语句

database - 有人可以解释一下 LDAP 吗?

java - Spring Security 登录页面