我尝试使用此代码时收到java.sql.SQLException: Before start of result set
:
ResultSet user = query("SELECT `id`, `counter` FROM `accounts` WHERE `username`='test'");
int id = user.getInt("id");
int counter = user.getInt("counter");
System.out.println("Id: " + id + " | Counter: " + counter);
我真正需要做的就是获取id和counter的值并在java中将其设置为整数但是我不知道如何做到这是我尝试的第三种方法,是我还能做些什么来获取这些信息?我知道事实上问题不在于我的查询方法所以我认为它显示它毫无意义,这几乎就是整个片段。 (是的,连接打开和关闭没问题)任何帮助将不胜感激。
答案 0 :(得分:2)
在尝试阅读第一行之前,先致电user.next();
。在第一行之前,您实际上是。通常,您会使用类似
while (user.next()) {
int id = user.getInt("id");
int counter = user.getInt("counter");
System.out.println("Id: " + id + " | Counter: " + counter);
}
ResultSet.next()
Javadoc说(部分),
ResultSet
光标最初位于第一行之前;第一次调用方法next
使第一行成为当前行;第二个调用使第二行成为当前行,依此类推。