从下一行获取值的结果集



嗨,我是新的Java如何我谷歌和获得代码连接到数据库和检索值。

问题是ResultSet仅从表

FIRST ROW获取值

代码如下:

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

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

您发布的代码应该已经在每行中获得第三个值。你所展示的并没有什么明显的问题。这只是一个尝试不同事物的问题,并找出哪些是你认为你知道但不是真的。

验证查询在SQL客户端(如Squirrel或您手边的任何东西)中自行工作。

添加printlns或日志记录来验证您实际上正在执行具有查询的代码部分。

在你的代码中添加一些文本到println,这样如果值为空,你仍然会看到一些东西被写出来。

将查询更改为显式地声明列,而不是依赖于*,因此它读起来像select mystuff from tablename,并看看是否可以使该查询工作。

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

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[] {});

相关内容

  • 没有找到相关文章

最新更新