源码

jb4.addActionListener(new ActionListener() {// 新增按钮事件监听器public void actionPerformed(ActionEvent e) {String str3, str4, str5, str6, str8 = null, str9 = null;String str1 = jt2.getText();String str2 = jt3.getText();str3 = jt4.getText();str4 = jt5.getText();str5 = jt6.getText();String str7 = "select ano from apply where ano='" + str1 + "'";if (str1.equals("") || str2.equals("") || str3.equals("") || str4.equals("") || str5.equals("")) {JOptionPane.showMessageDialog(null, "各项信息不能为空");} else {try {mysql.sql = mysql.con.createStatement();// 插入之前先在数据库里面查mysql.res = mysql.sql.executeQuery(str7);while (mysql.res.next()) {str8 = mysql.res.getString("ano");}str9 = mysql.res.getString("ano");if (str8 == null) {str8 = "insert into apply values(?,?,?,?,?)";PreparedStatement sql = mysql.con.prepareStatement(str8);sql.setString(1, str1);sql.setString(2, str2);sql.setString(3, str3);sql.setString(4, str4);sql.setString(5, str5);int result = sql.executeUpdate();JOptionPane.showMessageDialog(null, "插入成功");} else {JOptionPane.showMessageDialog(null, "申请编号已存在");}} catch (SQLException e1) {e1.printStackTrace();}}}});

报错

错误分析

这个是由于当我们从数据库里面读取数据的时候,引用了多个结果集,但前一个结果集取得后,已经和数据库关闭,后面还在引用结果集。也就是下面的代码

             try {mysql.sql = mysql.con.createStatement();// 插入之前先在数据库里面查mysql.res = mysql.sql.executeQuery(str7);while (mysql.res.next()) {str8 = mysql.res.getString("ano");}str9 = mysql.res.getString("ano");

str8 引用结果集的是在 try 语句里面进行的,也就是数据库的连接还没有关闭,这个时候是没有问题的,但是当出现 str9 引用结果集的时候,这个时候 try 语句已经结束了,也就是和数据库已经断开连接了,所以会产生java.sql.SQLException: After end of result set的错误。

Java连接数据库出现java.sql.SQLException: After end of result set的原因相关推荐

  1. java.sql.SQLException: Before start of result set ---错误笔记

    错误提示:java.sql.SQLException: Before start of result set  解决方法:使用rs.getString();前一定要加上rs.next(); 原因:Re ...

  2. sqlerror.java 1074_java.sql.SQLException: Before start of result set异常

    异常: java.sql.SQLException: Before start of result set at com.mysql.jdbc.SQLError.createSQLException( ...

  3. java sql2005驱动_java.sql.SQLException:找不到适用于jdbc:microsoft:sqlserver的驱动程序...

    当我尝试运行此程序时,出现此异常.这是微软的例子之一.我已经通过项目属性将sqljdbc4.jar添加到了netbeans的类路径中,以便进行编译和运行.我还测试了可以使用下面的import语句找到该 ...

  4. java.sql.SQLException: Before start of result set

    解决方法:使用rs.getString();前一定要加上rs.next(); 原因:ResultSet对象代表SQL语句执行的结果集,维护指向其当前数据行的光标.每调用一次next()方法,光标向下移 ...

  5. JDBC:java.sql.SQLException: Before start of result set怎么办

    这是由于Statement执行了之后,得到ResultSet,直接rs.getString,而没有运行.next()的关系 运行一下.next()即可 Connection conn = Driver ...

  6. JDBC编程可能遇到的错误:java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or ..

    文章目录 1.错误提示: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 2.提示:Loading class com.mysql.jd ...

  7. 使用DriverManager动态加载JDBC驱动时,报:java.sql.SQLException: No suitable driver found for xxxx 错误

    参考文章: yanbin.blog - 自定义类加载器动态加载 JDBC 驱动 项目场景: 使用DriverManager动态加载JDBC驱动时,报:java.sql.SQLException: No ...

  8. 【解决报错】java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)

    IDE:IntelliJ IDEA Ultimate 2019.3 (我用的是学生版,只要大学邮箱能用就可以的) 报错信息全文附在最后.其中关键的信息就是: Root Cause java.sql.S ...

  9. java sqlexception_java.sql.SQLException

    java.sql.SQLException: ResultSet is closed是什么错误 java.sql.SQLException:ResultSetisclosed是什么错误 java.sq ...

最新文章

  1. Sep 26 09:22:41 ck01 kernel: Buffer I/O error on device sda2, logical block 2
  2. javascript弹出窗口居中代码
  3. 建房子之前先挖地基 - Java BlockingQueue理解
  4. android RecycleView padding 和高度一样会出现什么情况?
  5. oracle 的目录是空的,oracle sqlplus在@命令路径中有空格的问题
  6. Qt中的基础图形绘制
  7. Java内存缓存-通过Google Guava创建缓存
  8. python函数(一)
  9. 一种常见的关于率指标的错误分析思路
  10. HikariCP连接池配置
  11. 更换 CentOS 7 的下载源为阿里云
  12. Spark记录-Scala记录(基础程序例子)
  13. tensorflow2.0 图像处理项目_游戏爱好者应该看看这个开源项目
  14. HBase数据读取流程解析
  15. [补档]noip2019集训测试赛(十五)
  16. Android系统联系人全特效实现(下),字母表快速滚动
  17. 给互联网人的反侦查手册
  18. java excel 数组公式_excel 数组公式
  19. TFT液晶屏是怎样诞生的?
  20. 投射电子显微镜(TEM)

热门文章

  1. 阿里云 centos 6.9 安装 mysql 5.7
  2. VR/AR技术依然红火:何时迎来爆发点
  3. 微信小程序把玩(十九)radio组件
  4. Genymotion 模拟器 VirtualBox
  5. 动态规划解决方案最长公共子序列问题(开启)
  6. eclipse修改默认工作空间
  7. 正则表达式(Regular Expression)
  8. 使用饼图_常见图表规范:直方图、圆环图和饼图
  9. Vivado中IP核生成文件
  10. 人工智能写散文之躲进你的心里记录温暖的你