我目前正在尝试使用带有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循环之后)。我正在将列表的大小输出到控制台,它只返回0.
答案 0 :(得分:0)
(\S+(?:<.+?>)?)(?=\s\w+\s\{get;)
亲爱的朋友们,为什么你决定写“j&lt; = colCount”同时你创造了“j = 0”。所以你的代码将抛出“SqlException”。因为结果集的最后一个元素的索引是“colCount”,但是你的循环传递的索引等于j + 1.它意味着等于“colCount + 1”。
如您所知,您尝试捕获SQLException,但您没有做任何事情。因此,当结果集的第一行和j = colCount + 1时,您的代码已失败。它无法添加任何内容。