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查询英文数据时报错1054,而查数字数据却没问题?
mysql报错:mysql5.7和mysql8,查询时sql关键字rank问题