我是getjava.sql.SQLException:结果集结束后

时间:2017-01-02 10:21:26

标签: java mysql jdbc

package database;

import java.sql.*;


public class MysqlCon {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
try{
    Class.forName("com.mysql.jdbc.Driver");
    Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/neha","root","root");

    Statement stmt=con.createStatement();
    ResultSet rs=stmt.executeQuery("select * from student");
    while(rs.next());
    System.out.println(rs.getInt(1)+" "+rs.getString(2));
    con.close();
}
catch(Exception e)
{
    System.out.println(e);
    }
    }

}

3 个答案:

答案 0 :(得分:1)

while(rs.next());

该行正在遍历整个结果集而没有对它做任何事情(因为以分号结束语句)。然后,您的下一行代码将在没有下一个项目的结果集上执行,因此会失败。

删除该行中的分号然后它将起作用

答案 1 :(得分:0)

认为问题是你正在通过执行while(rs.next());来迭代整个结果集。删除分号以迭代所有记录

答案 2 :(得分:-2)

试试这个:

try{
        Class.forName("com.mysql.jdbc.Driver");
        Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/neha","root","root");

        Statement stmt=con.createStatement();
        ResultSet rs=stmt.executeQuery("select * from student");
        while(rs.next()){
        System.out.println(rs.getInt(1)+" "+rs.getString(2));
    }    
    con.close();
    }
    catch(Exception e)
    {
        System.out.println(e);
        }
        }

    }