我是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个值(列)并将其存储在数组。
答案 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[] {});