gpt4 book ai didi

java - 使用 SQL 表中的 String[] 对象填充数组列表

转载 作者:行者123 更新时间:2023-11-29 21:53:21 25 4
gpt4 key购买 nike

我目前正在尝试使用 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。

最佳答案

String[] row = new String[colCount];
for (int j = 0; j <= colCount; j++) {
row[j] = rs.getString(j+1);
}
data.add(row);

亲爱的 friend 们,为什么你在创建“j = 0”的同时决定写“j <= colCount”。所以你的代码将抛出“SqlException”。因为结果集最后一个元素的索引是“colCount”,但循环传递的索引等于 j + 1。这意味着等于“colCount + 1”。

如您所知,您 try catch SQLException 但没有执行任何操作。因此,当结果集的第一行和 j = colCount + 1 时,您的代码已失败。它无法添加任何内容。

关于java - 使用 SQL 表中的 String[] 对象填充数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33409222/

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