java中ResultSet使用next()取不到第一条数据的解决办法

在coding的时候,发现每次使用JDBC连接数据库的时候,使用resultset每次使用next()方法循环取出查询的数据的时候,发现每次用到第一条的数据的时候总是抛出异常,后来debug的时候,才发现每次都是第一条记录是取不到的。

后来检查代码的时候,才发现呢,我在每次while(rs.next())的之前使用了

if(rs.next())的方法,代码格式如下所示:

if(!rs.next()) //结果集为空
{
        //执行某操作
}

while(rs.next()){
    //    执行某操作
}

从以上的代码可以看到,我们在while循环的之前,已经使用next(),这个时候的在使用next的时候,指针已经移到第二条记录了,所以才会总是取不到第一条数据。

 

你可能感兴趣的:(Java)