我正在用 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直到最后才添加到结果中,当它等于最后一条记录时。在将 ArrayList行作为元素添加到另一个 ArrayList 之前,我是否需要“提交”它?如果是这样,怎么做?另外,出于好奇,为什么.toString()工作方式不同?