我正在使用Java编写应用程序,我想使用一个SQL查询填充许多Jtextfield
。
例如:我的查询是: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个月没有项目。< / p>
我已经寻找了很多天的解决方案,但我找不到一个。
到目前为止我有这个代码:
String ec = "select * from table";
try {
Statement stmt_ec = conn.createStatement();
ResultSet rs_ec = stmt_ec.executeQuery(ec);
while (rs_ec.next()) {
// solution ???
}
}
答案 0 :(得分:1)
您在检索记录时采取了错误的方法,因为数据库中有两个列,所以只需要两个文本字段。因此,字段数取决于数据库中的列,不是行。
if(rs_ec.next()){
itemField.setText(rs_ec.getString("Item");
monthField.setText(rs_ec.getString("Month");
}
在这种情况下,您甚至不需要迭代记录,因为您没有表, textfields 一次只显示一行。如果您希望显示所有记录,则必须使用 JTable 。
答案 1 :(得分: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"));
}
答案 2 :(得分:0)
请参阅Table From Database中的Table From Database Example
代码,了解从SQL查询创建JTable的一些代码。