java.sql.SQLException: Before start of result set

开始学习Java没有多久,自己尝试使用prepareStatement实现Java到MySQL数据库的增删改查。这里记录遇到的一些问题


先说原因

是因为 ResultSet 类型的 next 方法导致的

再轮结果

在处理之前将其加入到while 循环 调用 rs.next()
修改后的代码如下:

错误截图

java.sql.SQLException: Before start of result set
如下图

image.png

部分代码如下:

最后分析

在主逻辑中代码:

image.png

在 UserDao的86行前后:

image.png

查证

rsResultSet 类型, 错误应该和这个类型的使用有关。

参考官网介绍:
http://docs.oracle.com/javase/8/docs/api/java/sql/ResultSet.html

A ResultSet object maintains a cursor pointing to its current row of data. Initially the cursor is positioned before the first row. The next method moves the cursor to the next row, and because it returns false when there are no more rows in the ResultSet object, it can be used in a while loop to iterate through the result set.

可以理解它是一个指针,开始指向的是第一行前面的位置, 故我们必须先使用rs.next() 然后在采用使用rs.getString() 等方法取出结果集中的数据。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 30,454评论 18 399
  • 本节介绍Statement接口及其子类PreparedStatement和CallableStatement。 它...
    zlb阅读 810评论 0 0
  • 一. Java基础部分.................................................
    wy_sure阅读 3,212评论 0 11
  • 本人的环境为Myeclipse10、MySQL5.7.15 本文包括:简介JDBC编程步骤打通数据库程序详解—Dr...
    廖少少阅读 3,647评论 7 39
  • 风靡全球的法国甜点马卡龙这样做,甜蜜来袭,不仅好看还好吃!冰淇淋色的马卡龙,简单到你不可能做不好
    做个吃的阅读 264评论 0 0
  • 9.想一个实例中,你或你认识的人形成一个观点,后来被证明是错误的。国家的意见和解释,以什么样的方式才是正确的。 1...
    Fx_阅读 90评论 0 1
  • 囚鸟-张宇 我不记得第一次听《囚鸟》是在什么时候了。 高考过后的暑假,我终于可以彻底放松,于是便如饥似渴地听歌。从...
    与卟门阅读 516评论 1 2
  • 安小落是在17岁的时候认识纪尘帆的。那年他们高一。 同桌林果叫她陪她去学校小卖部买香草味的冰激凌,两个人手挽着手兴...
    古霁月阅读 397评论 2 8