将来自 MySQL 的数据结果发布到 JTextArea

Posting data result from MySQL to JTextArea

我在 MySQL 数据库中有数据,我需要在 JTextArea 中显示它:

ps = connection.prepareStatement("SELECT `Name`, FROM `users" + "SELECT `Post`, FROM `history");

我需要在 TextArea 中显示此查询的结果。

应该是这样的:

try{
    final String sql = "SELECT Name FROM users;";

    PreparedStatement ps = connection.prepareStatement(sql);
    ResultSet rs = ps.executeQuery();
    if(rs != null){
        while(rs.next()){
            String name = rs.getString(1);
            //Do something with name
        }
        rs.close();
    }
    ps.close();
}catch(Exception e){
    e.printStackTrace();
}

编辑:

你有一个格式错误的 SQL-Query,就像 JAMSHAID IQBAL 在评论中写的那样。 这是一个经过编辑的解决方案,其中包括他的改进:

PreparedStatement psUserNames = connection.prepareStatement("SELECT Name FROM users;");
PreparedStatement psPosts = connection.prepareStatement("SELECT Post FROM history;")

1.从 PreparedStatement 中提取数据:

首先,您需要从 PreparedStatement 中获取 ResultSet。 这是您请求的所有数据将存储在的位置:

ResultSet rsUserNames = psUserNames.executeQuery();
ResultSet rsPosts = psPosts.executeQuery();

然后您需要从该 ResultSet 中提取数据作为 Strings。例如以这样的方式(简化示例):

String username = new String();
String post = new String();
rsUserNames.next();
rsPosts.next();
username = rsUserNames.getString("Name");
post = rsPosts.getString("Post");

(最好使用 while 循环和异常处理遍历 ResultSet 中的所有数据集。Here 你可以看一个例子)

2。将数据写入 JTextArea

然后,将数据字符串显示到 JTextArea 的一种简单方法是使用 setText() or append() 方法。例如:

JTextArea jtextAreaUserName = new JTextArea();
JTextArea jtextAreaPost = new JTextArea();
jtextAreaUserName.setText(username);
jtextAreaPost.setText(post);

有用的链接: