使用带有SQL表

时间:2015-10-29 08:28:17

标签: java mysql arrays jdbc

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

1 个答案:

答案 0 :(得分:0)

(\S+(?:<.+?>)?)(?=\s\w+\s\{get;)

亲爱的朋友们,为什么你决定写“j&lt; = colCount”同时你创造了“j = 0”。所以你的代码将抛出“SqlException”。因为结果集的最后一个元素的索引是“colCount”,但是你的循环传递的索引等于j + 1.它意味着等于“colCount + 1”。

如您所知,您尝试捕获SQLException,但您没有做任何事情。因此,当结果集的第一行和j = colCount + 1时,您的代码已失败。它无法添加任何内容。