如何在JavaMySQL中将每个数据库表行传递到RelaventJLabels中
我正在创建一个简单的评级系统。我对数据库表只有3个问题。我在下面附上了屏幕截图 这些问题是 A. B C 我需要的是我在JFrame中放置了3个JLabel,我需要从数据库表中获取并传递到relavent 我将屏幕截图附在下面 但结果仅显示c仅表示仅显示最后一行数据。我需要展示问题1-a, 问题2-b,问题3-c。如何做到这一点,我尝试到目前为止,我附在下面如何在JavaMySQL中将每个数据库表行传递到RelaventJLabels中,java,Java,我正在创建一个简单的评级系统。我对数据库表只有3个问题。我在下面附上了屏幕截图 这些问题是 A. B C 我需要的是我在JFrame中放置了3个JLabel,我需要从数据库表中获取并传递到relavent 我将屏幕截图附在下面 但结果仅显示c仅表示仅显示最后一行数据。我需要展示问题1-a, 问题2-b,问题3-c。如何做到这一点,我尝试到目前为止,我附在下面 public void question() { String query = "select
public void question()
{
String query = "select * from rate";
Statement stat =null;
ResultSet rs;
try {
stat = con.createStatement();
rs = stat.executeQuery(query);
while(rs.next())
{
lblq1.setText(rs.getString(2));
lblq2.setText(rs.getString(2));
lblq3.setText(rs.getString(2));
}
} catch (SQLException e) {
e.printStackTrace();
}
}
尝试更改此选项:
while(rs.next())
{
lblq1.setText(rs.getString(2));
lblq2.setText(rs.getString(2));
lblq3.setText(rs.getString(2));
}
变成这样:
int id = 1;
while(rs.next())
{
if ( id == 1 ) lblq1.setText(rs.getString(2));
if ( id == 2 ) lblq2.setText(rs.getString(2));
if ( id == 3 ) lblq3.setText(rs.getString(2));
id += 1;
}
在当前代码中,为每个值的所有三个feeld设置文本,最后所有feeld都包含最后一个值。
您需要检查要在哪个字段中设置哪个值。
有更好(更有效)的方法来编写此代码(switch/if-else-if),但举个例子,这应该足够了。每次执行rs.next()时,都会从结果中得到一行。因此,您只是在每个字段中输入相同的值。迭代next(),并每次为不同的字段设置一个值。必须编写三个while循环来执行任务。if(rs.next()){lblq2.setText(rs.getString(2));}Thanksss