我定义了一个变量
Object[] data;
下一步如何用数据填充它?
我想做这样的事情:
public Object[] select() {
Object[] data; // Here I definded it
try {
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT * FROM CUSTOMERS");
while (rs.next()) {
/* data = {(rs.getString("fname"), (rs.getString("lname")); */
// I know it's wrong, but how can I fill it with data from a database?
}
rs.close();
stmt.close();
} catch (SQLException ex) {
System.out.println("error while selecting");
System.err.println(ex);
}
return data;
}
// -----
// somewhere else
model.addRow(DB.INSTANCE.select());
It's
data[i++] = new Object[] {rs.getString("fname"), rs.getString("lname")};
但坦率地说,我会考虑创建一个新类的选项。我什至给它起了一个奇特的名字:Customer
.
这样你的主循环就会像这样:
while (rs.next()) {
data[i++] = new Customer(rs.getString("fname"), s.getString("lname"));
}
现在你可能会问什么是i
以及我们如何创建data
首先?都是好问题。您事先不知道结果集会有多长,因此数组不是一个好主意。尝试使用List
反而:
public List<Customer> select() {
List<Customer> data = new ArrayList<Customer>(); // Here you define it
// some code
while (rs.next()) {
data.add(new Customer(rs.getString("fname"), (s.getString("lname")));
}
// etc.
return data;
}
请注意,您几乎可以大声朗读:data
,添加一个新的Customer
, 请。
最后,强烈推荐大家看看finally
关键字:它将节省你的时间,否则你会花在奇怪的和间歇性的错误上。
希望有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)