1

我正在使用 Java 开发一个应用程序,我想Jtextfield使用一个 SQL 查询来填充许多 s。

例如:我的查询是:select * from table,其中表有 2 列“Items”和“Month”:

Item  | Month

alpha | 1
beta  | 2
delta | 5
gamma | 3

现在我有 4 JTextfields jt1, jt2, jt3, jt4; 我希望 alpha 进入jt1,beta 进入jt2,gamma 进入jt3并且jt4是空的,因为第 4 个月没有项目。

我已经寻找解决方案很多天了,但我找不到。

到目前为止我有这个代码:

String ec = "select * from table";

try {
    Statement stmt_ec = conn.createStatement();
    ResultSet rs_ec = stmt_ec.executeQuery(ec);
    while (rs_ec.next()) {
        // solution ???
    }
}
4

3 回答 3

1

您在检索记录时采取了错误的方式,您只需要两个文本字段,因为您在数据库中有两列。因此,字段的数量取决于数据库中的列,而不是行。

if(rs_ec.next()){
 itemField.setText(rs_ec.getString("Item");
 monthField.setText(rs_ec.getString("Month");
}

在这种情况下,您甚至不需要迭代记录,因为您没有表格,文本字段一次只显示一行。如果要显示所有记录,则必须使用JTable

于 2013-07-20T14:27:52.237 回答
0

有关从 SQL 查询创建 JTable 的一些代码,请参阅数据库Table From Database Example中的表中的代码。

于 2013-07-20T14:37:21.303 回答
0

一会儿里面

while (rs_ec.next()) {    
    jt1.setText(rs_ec.getString("alpha"));
    jt2.setText(rs_ec.getString("beta"));
    jt3.setText(rs_ec.getString("gamma"));
    jt4.setText(rs_ec.getString("delta"));
}
于 2013-07-20T13:38:45.927 回答