【发布时间】:2015-10-29 08:28:17
【问题描述】:
我目前正在尝试使用带有 SQL 表的 String[] 对象填充数组列表。我能够使用此代码获取表的标题。
ResultSetMetaData rsmd = rs.getMetaData();
int colCount = rsmd.getColumnCount();
int i = 1;
while (colCount >= i) {
String header = rsmd.getColumnName(i);
field.add(header);
i++;
但是,当我尝试创建行来填充表格时,数组不会添加到数组列表中。
while (rs.next()) {
String[] row = new String[colCount];
for (int j = 0; j <= colCount; j++) {
row[j] = rs.getString(j+1);
}
data.add(row);
}
} catch (SQLException ex) {
}
System.out.println(data.size());
由于某种原因,当我放入“data.add(row);”时for 循环中的语句,它只显示同一行,但它循环了多少次。但它在 for 之外不起作用(我想将它放在 while 内的 for 循环之后)。我将列表的大小输出到控制台,它只返回 0。
【问题讨论】:
-
您将忽略任何 SQLException 并继续,就好像没有发生任何重要的事情一样。这个不对。你确定没有人被扔吗?在
catch块内添加throw new RuntimeException(ex);以确保。它必须停止程序并在控制台中打印问题的答案(异常消息和堆栈跟踪)。