以前的一个项目用jdbc操作数据库,事务方面未做好。最近出现了许多问题,所以对它进行修改。
只好采用最原始的connection.setAutoCommit(false);来设置事务,由于业务逻辑过于复杂,这个方法写了381行。当中涉及到许多增删改查操作,其中用到了多个ResultSet。经过测试发现,当出现多个ResultSet时经常会报错说ResultSet已关闭。
在网上查了一下,是由于一个Statement操作获得多个ResultSet时就会产生这种错误。这种情况下只需要多创建几个Statement,当需要多个ResultSet时分别用多个Statement执行就不会报错了。
我只写了解决方法,至于为什么会这样,具体原因我也不太了解。
查到的原因如下:
the object used for executing a static sql statement and returning the results it produces. by default, only one resultset object per statement object can be open at the same time. therefore, if the reading of one resultset object is interleaved with the reading of another, each must have been generated by different statement objects. all execution methods in the statement interface implicitly close a statments current resultset object if an open one exists.
原文地址:http://www.sudu.cn/info/html/edu/java/20071225/19718.html
分享到:
相关推荐
6. **关闭资源**:在完成数据库操作后,必须关闭`ResultSet`、`Statement`以及`Connection`,以释放系统资源。 实验报告“实验报告8 JDBC.pdf”可能包含了以下内容:实验目的、实验环境、实验步骤、遇到的问题及...
在本实验"Web开发技术实验1(应用JDBC进行数据库开发)"中,我们将深入学习如何使用Java数据库连接(JDBC)技术与数据库进行交互,完成基础的CRUD(Create, Read, Update, Delete)操作。同时,我们将探讨在Java ...
- 学生在实验过程中遇到了几个主要问题,如连接数据库时的异常处理、查询表中的全部数据以及删除数据时违反参照完整性约束等。 - 通过查阅官方文档和网上资源,学生成功解决了这些问题。 - **总结** - 实验过程中...
**JDBC操作MySQL数据库基础教程** 在Java编程中,JDBC(Java Database Connectivity)是用于与各种数据库进行交互的一套标准API。它允许Java应用程序连接并执行SQL语句,实现数据的CRUD(Create、Read、Update、...
文档`jdbc连接不同数据库方法.doc`可能进一步详述了这些步骤,包括可能遇到的问题、最佳实践和特定数据库的特殊注意事项。例如,连接Oracle数据库可能需要配置TNSListener,而连接SQL Server可能需要处理字符集问题...
实验八“通过JDBC方式访问数据库”是针对数据库系统概论的一个实践环节,旨在让学生掌握使用Java语言通过JDBC(Java Database Connectivity)接口来设计数据库应用程序,以及对数据库进行操作。JDBC是一种标准API,...
7. **资源关闭**:为了防止资源泄漏,执行完数据库操作后,需要关闭ResultSet、Statement和Connection。使用try-with-resources语句可以确保资源在不再使用时自动关闭。 8. **异常处理**:在进行数据库操作时,可能...
"基于JDBC的最好用数据库访问类"是一个专为简化JDBC操作而设计的工具类,它的目标是提供更高效、易用和健壮的数据库访问方式,从而减轻开发者的工作负担。 首先,让我们了解一下JDBC的基本使用流程:加载驱动、建立...
在Java编程中,JDBC(Java Database Connectivity)是Java语言中用来规范客户端程序如何访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。这篇博客"JAVA的JDBC学习遇到的问题1"可能是作者在深入...
【正文】 JSP(JavaServer Pages)和JDBC(Java Database Connectivity)是Java Web开发中的核心技术,用于构建动态网页并实现与数据库的...记得在实践中多尝试,遇到问题时查阅文档或在线资源,不断提升自己的技能。
Java程序设计教学做一体化教程JDBC数据库操作是一个重要的学习领域,尤其对于计算机科学和技术专业的学生而言。JDBC,全称为Java Database Connectivity,是Java语言中用于与各种数据库进行交互的一套标准API。它...
**Java JDBC连接数据库详解** Java Database Connectivity (JDBC) 是Java平台中用于与关系数据库进行交互...在遇到问题时,可以参考`jdbc路径配置.txt`文件,检查数据库驱动是否正确加载,配置文件路径是否准确无误。
**正文** JDBC(Java Database Connectivity)是Java编程语言中用于与各种数据库进行交互的一组接口和类。它由Sun Microsystems开发并随Java Development Kit...如果你在实践过程中遇到问题,可以通过内信寻求帮助。
在IT行业中,JDBC(Java Database Connectivity)是Java编程语言中用于访问数据库的标准API,而Oracle则是一款广泛应用的关系型数据库管理系统。"JDBC连接Oracle数据库测试"是一个关键的实践环节,确保应用程序能够...
【JDBC-ODBC桥数据库连接】是一种早期的数据库连接技术,它允许Java应用程序通过JDBC接口访问使用ODBC驱动程序的数据库。JDBC-ODBC桥由Sun Microsystems与Merant公司合作开发,目的是为了让Java应用程序能够利用已有...
7. 关闭资源:在操作完成后,关闭ResultSet、Statement和Connection,以释放数据库资源。 在实际应用中,为了提高性能和安全性,通常会使用PreparedStatement对象,它允许预编译SQL语句,减少解析时间,并且可以...
通过JDBC,我们可以方便地在Java程序中操作MySQL数据库,执行SQL语句,获取查询结果。 要实现“通过姓名或号码查询通讯时间”的功能,我们遵循以下步骤: 1. **加载驱动**:在Java代码中,我们需要加载对应的...
值得注意的是,由于Access数据库的JDBC支持可能不如其他主流数据库那么完善,使用过程中可能会遇到一些限制。例如,不支持存储过程,或者在处理大量数据时性能可能不佳。此外,随着Java版本的更新,某些旧版驱动可能...
总结来说,`sqljdbc4.jar`是实现Java应用程序与SQL Server交互的重要组件,通过遵循JDBC规范的API进行操作,提供了丰富的功能和优化的性能,是Java开发人员处理SQL Server数据库不可或缺的工具。在实际项目中,合理...