Java JDBC结果集错误,但是为什么呢? [英] Java JDBC result set error, but why?

查看:85
本文介绍了Java JDBC结果集错误,但是为什么呢?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Connection myConn = DriverManager.getConnection("jdbc:mysql://localhost:3306/dbname","user","pass");
Statement myStmt1 = myConn.createStatement();
System.out.println("connected");

for(int i=1; i<1375462;i++){
    ResultSet myRs1 = myStmt1.executeQuery("SELECT Name FROM table WHERE id ="+i);

    String Name = myRs1.getString("Name");
    System.out.print(i);
    System.out.println("Name:"+Name);
}

我正在使用JDBC Java从数据库查询名称,但这一次它出现了错误,我不知道为什么.我以前使用过Java JDBC.我可以连接到数据库,但是查询似乎无法正常工作? Id列是10位整数.

I'm using JDBC Java to query the name from database but this time it got an error and I don't know why. I have used Java JDBC before. I can connect to database but the query seem like not working? Id column is integer 10 digit.

"run: connected java.sql.SQLException: Before start of result set
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:959)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:898)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:887)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:862)
    at com.mysql.jdbc.ResultSetImpl.checkRowPos(ResultSetImpl.java:790)
    at com.mysql.jdbc.ResultSetImpl.getStringInternal(ResultSetImpl.java:5244)
    at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5167)
    at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5206)"

推荐答案

当您尝试在不移动光标的情况下访问某些内容时,会出现这种错误.尝试在获取String之前先放置myRs1.next();.

This kind of error appears when you try to access something without moving cursor. Try to put myRs1.next(); before getting String.

这篇关于Java JDBC结果集错误,但是为什么呢?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆