Connection conn = null;
Statement stmt = null;
try{
conn = getConnection();
stmt = conn.createStatment();
conn.setAutoCommit(false);
String sql = "Insert Into table_name value('hellowolrd')";
stmt.execute(sql);
conn.commit();
// 1
}catch(RunntimeException e){
try{
if(conn!=null){
// 2
conn.setAutoCommit(true);
conn.rollback();
}
}catch(Exception e){
e.printStack****();
}
}finally{
//释放资源,这里就不写了。
}
上面是写的数据库操作程序。
重点有2个:
在注释1中,这里不能捕获RuntimeException,SQLException也是集成于Exception,而RuntimeException也是继承于Exception.所以这样根本就捕获不到异常,导致数据执行出错后根本就不能回滚。
在注释2中,要把这个Connection的状态设置回去,通过JDBC连接数据库会有连接池,代码里释放资源也就是调用conn.close();方法也只是将该连接放回到连接池中。所以要将该连接的状态还原。线程池也涉及到这样的操作。
分享到:
相关推荐
如果出现错误,程序会捕获异常并打印错误信息。 在实际应用中,我们还需要学习如何执行SQL命令,这可以通过SqlCommand对象实现。例如,执行一个SELECT语句获取数据: ```csharp SqlCommand command = new ...
同时,为了确保代码的健壮性,你应该始终捕获并处理可能出现的异常,对数据库操作进行适当的错误检查。 总之,PyQt的QtSql模块为SQLite数据库的使用提供了便利,结合Python的简洁语法,使得开发人员能够轻松地在...
### Java学习笔记之异常 #### 一、异常概念与理解 异常是指在程序运行过程中发生的非预期事件,这些事件可能会导致程序无法正常执行。在Java中,异常处理是一种非常重要的机制,它允许开发者以优雅的方式处理错误...
2. **异常处理**: 学习如何使用try-catch-finally语句来捕获和处理程序运行时可能出现的错误,确保程序的健壮性。 3. **集合框架**: 探索ArrayList、LinkedList、HashSet、HashMap等数据结构,理解它们的实现原理和...
9. **异常处理**:在处理数据库操作时,要对可能出现的SQLException进行捕获和处理,确保程序的健壮性。 10. **安全性**:了解如何安全地存储和处理数据库凭据,以及如何使用预编译的SQL语句防止SQL注入攻击。 这...
- 数据库操作可能会抛出SQLException,需要适当地捕获并处理,确保程序的健壮性。 10. **最佳实践** - 使用PreparedStatement而非Statement,提高安全性。 - 避免在循环中创建新的Connection,而是复用已存在的...
Java 学习笔记使用 JDBC 对数据库进行增删改查方案一 本资源提供了使用 JDBC 对数据库进行增删改查的方案,介绍了如何使用 JDBC 连接数据库、执行 SQL 语句、关闭数据库连接等知识点。 知识点一:使用 JDBC 连接...
这些笔记涵盖了SQL和PL/SQL的基础知识,适合初学者了解和掌握数据库操作的基本概念和语法。随着经验的积累,开发者可以深入学习高级特性和最佳实践,如性能优化、并发控制、数据库设计等,以提升在Oracle数据库环境...
该文档是Java就业班第一阶段的学习笔记,涉及Java基础知识和对数据库操作的学习。这部分内容对Java初学者非常重要,涵盖了注释、异常处理、数组、常用类、集合、IO操作、线程以及MySQL数据库操作等初级知识点。下面...
finally块中的代码无论是否发生异常都会被执行,常用来关闭打开的资源,如数据库连接。 在处理异常时,应该尽可能捕获更具体的异常类型,这样可以提供更精确的错误信息和处理方式。如果有多个catch块,应该按照异常...
2. **异常捕获**:异常处理是编程中必不可少的一部分。通过`try-catch`结构,程序员可以捕获运行时可能发生的错误,并进行适当的处理,防止程序崩溃。这有助于增强程序的稳定性和用户体验。 3. **方法(函数)**:...
- **错误处理**:异常捕获和处理机制。 - **游标**:用于遍历结果集。 - **子程序**: - 过程:执行特定任务的过程。 - 函数:返回值的过程。 - **事务处理**:控制数据库操作的原子性。 - **程序包**:组织和...
4. **异常处理**:Java中的异常处理通过try-catch-finally语句块来实现,用于捕获和处理运行时错误,提高程序的健壮性。 5. **集合框架**:Java集合框架包括List(如ArrayList、LinkedList)、Set(如HashSet、...
3. **异常处理**:Java的异常处理机制是其强项之一,通过try-catch-finally语句块,开发者可以有效地捕获和处理运行时错误,提高程序的健壮性。 4. **集合框架**:Java SE 6中的集合框架是一个强大的工具集,包括...
Python 提供了异常处理机制,我们可以使用 try/except/finally 结构来捕获和处理这些异常。 10. **数据的序列化与反序列化** 有时候,我们可能需要将数据库中的数据转换为 JSON 或其他格式,以便在网络间传输或...
最后,学习笔记可能还包括实际的代码示例,展示如何在VC++中创建数据库连接、执行查询、处理结果,并且如何处理数据库操作的错误和异常。这些例子将帮助初学者更好地理解和应用所学知识,从而在实际项目中高效地使用...
- 使用`try-catch-finally`结构捕获并处理异常,确保资源在任何情况下都能被正确关闭。 ### 8. JDBC与ORM框架 - **ORM(Object-Relational Mapping)**:对象关系映射,如Hibernate和MyBatis,将数据库操作转化为...
4. 异常处理:讲解如何捕获和处理运行时错误,以及异常类的层次结构。 5. 文件与流:涉及I/O流的操作,如读写文件、数据传输等。 6. 多线程:讲解并发编程,包括线程的创建、同步、死锁等概念。 7. 网络编程:涉及...