java中mysql查询报错java.sql.SQLException: Before start of result set

Posted 休夸此地分天下

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中mysql查询报错java.sql.SQLException: Before start of result set相关的知识,希望对你有一定的参考价值。

异常:java.sql.SQLException: Before start of result set

解决方法:使用rs.getString();前一定要加上rs.next();

 

                sm = conn.createStatement();
                ResultSet rs = null;
                String sql_max = "SELECT id FROM a WHERE name= ‘" + name
                        + "‘ ORDER BY online_time DESC LIMIT 1";
                rs = sm.executeQuery(sql_max);
                if (rs.next()) {
                    String id = rs.getString("id");
                    int id1 = Integer.parseInt(id);
                    String sql_update = "UPDATE  b SET offline_time = NOW()  WHERE  id=" + id1
                            + " and name= ‘" + name+ "‘";
                    sm.executeUpdate(sql_update);
                }

 

原因:ResultSet对象代表SQL语句执行的结果集,维护指向其当前数据行的光标。每调用一次next()方法,光标向下移动一行。最初它位于第一行之前,因此第一次调用next()应把光标置于第一行上,使它成为当前行。随着每次调用next()将导致光标向下移动一行。在ResultSe对象及其t父辈Statement对象关闭之前,光标一直保持有效。

参考:https://blog.csdn.net/killua_hzl/article/details/6073618 

以上是关于java中mysql查询报错java.sql.SQLException: Before start of result set的主要内容,如果未能解决你的问题,请参考以下文章

从 Tomcat 查询 Impala 抛出 Invalid URL 异常

Mysql查询数字类型结果为Object,强转int报错

mysql查询英文数据时报错1054,而查数字数据却没问题?

mysql报错:mysql5.7和mysql8,查询时sql关键字rank问题

mysql报错:mysql5.7和mysql8,查询时sql关键字rank问题

mysql报错:mysql5.7和mysql8,查询时sql关键字rank问题