resultset从下一行获取值

时间:2013-04-26 15:13:48

标签: arrays jdbc resultset

我是java的新手,我怎么用Google搜索并获得连接数据库并检索值的代码。

问题是ResultSet仅从表格的第一行中获取值

这是代码..

String stmt = "select * from tablename";
ResultSet resultSet = statement.executeQuery(stmt);
while(resultSet.next())
 {
    String val = resultSet.getString(3);
    System.out.println(val);
 } 

它只返回第一行的第3个值(因为我已经提到过,我只需要那个列值),但我需要获取每一行的每个第3个值(列)并将其存储在数组

1 个答案:

答案 0 :(得分:1)

您发布的代码应该已经在每行中获得第3个值。你所展示的内容没有明显的错误。这只是尝试不同的事情并弄清楚你认为你知道什么是不正确的事情。

验证查询是否可以在像Squirrel这样的SQL客户端或任何方便的用户中使用。

添加printlns或日志以验证您是否实际执行了包含查询的代码部分。

在代码中向println添加一些文本,这样如果值为空,您仍会看到写入的内容。

更改查询以明确说明列,而不是依赖于*,因此它读起来像select mystuff from tablename,看看是否可以使该查询有效。

准备好添加存储值的部分后,最好使用ArrayList而不是数组,因为列表会在向其添加内容时调整大小。 ArrayList由数组支持,ArrayList负责为您调整大小。如果你真的需要一个数组,你可以调用列表上的toArray方法,一旦填充就创建一个。{1}}方法。所以它看起来像:

List<String> list = new ArrayList<String>();
while(resultSet.next())
{
    String val = resultSet.getString(3);
    list.add(val);
    System.out.println(val);
}
String[] vals = list.toArray(new String[] {});
相关问题