我在MySQL数据库中有数据,我需要在JTextArea中显示它:
ps = connection.prepareStatement("SELECT `Name`, FROM `users" + "SELECT `Post`, FROM `history");
我需要在TextArea中显示此查询的结果。
答案 0 :(得分:1)
应该是这样的:
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();
}
答案 1 :(得分:1)
修改强>
你有一个格式错误的SQL查询,就像评论中写的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中将数据提取为String
。例如,以这种方式(简化示例):
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()或append()方法。例如:
JTextArea jtextAreaUserName = new JTextArea();
JTextArea jtextAreaPost = new JTextArea();
jtextAreaUserName.setText(username);
jtextAreaPost.setText(post);
有用的链接: