嗨,我是新的Java如何我谷歌和获得代码连接到数据库和检索值。
问题是ResultSet
仅从表
代码如下:
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[] {});