【发布时间】:2010-09-19 16:48:43
【问题描述】:
我正在用 Java 构建一个应用程序来从 MySQL 数据库中检索数据。执行查询后,我得到一个 ResultSet 并执行以下操作以提取记录:
while (rs.next())
{
for (int column = 1; column <= rm.getColumnCount(); column++) {
row.add(rs.getObject(column));
}
result.add(row.toString());
row.clear();
}
其中 rs = ResultSet 和 rm = ResultSetMetaData
问题是我必须做 result.add(row.toString()); 而不仅仅是 result.add(row); (我用它'想创建一个二维 ArrayList)。否则我会得到空结果。
我尝试将 row.clear(); 放在开头,在 for 循环之前,但这会导致我的所有结果都被多个实例填充最后的记录。就像 row 直到最后才添加到 result 中,当它等于最后一条记录时。在将 ArrayList row 作为元素添加到另一个 ArrayList 之前,我是否需要“提交”它?如果是这样,怎么做? 另外,出于好奇,为什么 .toString() 的工作方式不同?
【问题讨论】: