gpt4 book ai didi

java - 填充Object[]数据

转载 作者:行者123 更新时间:2023-12-01 19:09:28 25 4
gpt4 key购买 nike

我定义了一个变量

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());

最佳答案

这是

 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;
}

请注意,您几乎可以大声朗读:数据,请添加一个新的客户

最后,我强烈建议您看一下 finally 关键字:它将节省您的时间,否则您会花在奇怪和间歇性错误上。

希望有帮助。

关于java - 填充Object[]数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8774481/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com