ResultSet对象默认情况下是不可生成可更新的结果集,因此需要手动设置为可跟新,可滚动的结果集Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);ResultSet.TYPE_SCROLL_INSENSITIVE用于设置结果集是可以滚动的,ResultSet.CONCUR_UPDATABLE表示是否可以对某个跟定的对象进行跟新.,以下是一个可跟新:
import java.sql.*;
import com.UtilTool.*;
public class TestUpdateResultSet {
public static void main(String args[]){
Connection con=null;
Statement stm=null;
ResultSet rs=null;
try{
con=ConnectTool.getConnection();
con.setAutoCommit(false);
stm=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select empno,Ename from emp order by sal";
rs=stm.executeQuery(sql);
rs.next();
rs.absolute(5);
rs.updateString(2, "jj");
System.out.println(rs.getInt(1)+"===="+rs.getString(2));
rs.absolute(3);
rs.updateString(2, "jj");
System.out.println(rs.getInt(1)+"===="+rs.getString(2));
rs.updateRow();
con.commit();
}catch(Exception e){
e.printStackTrace();
try {
con.rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
}finally{
ConnectTool.releasersc(rs, stm, con);
}
}
}
分享到:
相关推荐
如果需要更新结果集,可以使用`ResultSet.CONCUR_UPDATABLE`。 接下来,执行SQL查询并获取结果集: ```java String sql = "SELECT * FROM my_table"; ResultSet rs = stmt.executeQuery(sql); ``` 现在,rs是一个...
- 创建可更新结果集时,需要指定并发性类型,如 `ResultSet.CONCUR_UPDATABLE`,并配合 `ResultSet.TYPE_SCROLL_INSENSITIVE` 或 `ResultSet.TYPE_SCROLL_SENSITIVE` 使用。 - 更新结果集中的数据通常涉及 `update...
最直接的方法是在创建`Session`时指定查询结果集为可滚动类型(scrollable)。这可以通过在Hibernate配置文件中设置`hibernate.connection.autocommit`属性为`false`,并在查询前手动设置事务,然后通过`Session`的`...
`ResultSet.CONCUR_READ_ONLY`则表示这个结果集只能被用于读取,不能进行修改。 #### 二、JDBC批量更新 **批量更新**是指一次性执行多个更新操作,比如批量更新用户信息、产品信息等。批量更新的原理与批量插入...
3. **结果集的滚动和分页(Scrollable Result Sets and Pagination)**:开发者可以前后移动结果集,实现分页查询,提升用户体验。 4. **数据源(DataSources)**:通过JNDI(Java Naming and Directory Interface)...
本文将详细解析如何使用JDBC来连接并操作Oracle 11g和MySQL 5数据库,涉及的主要知识点包括参数传递、反射、读取属性文件、预处理语句、批处理、带参数的存储过程、事务管理和可滚动/可更新的结果集。 首先,JDBC...
JDBC 2.0引入了可更新结果集,开发者可以直接使用Java方法而非SQL语句来更新数据。通过在`createStatement`中指定`ResultSet.CONCUR_UPDATABLE`,我们可以创建一个可更新的结果集。`updateXXX()`方法如`...
这通过设置`Statement`的`ResultSetConcurrency`和`ResultSetType`属性实现,例如,`ResultSet.TYPE_SCROLL_INSENSITIVE`和`ResultSet.CONCUR_UPDATABLE`组合可以创建一个可滚动且可更新的结果集。 批处理更新...
(3)掌握可滚动和可更新的结果集的基本操作方法; (4)理解JDBC中实现事务处理的基本方法; (5)理解数据库连接池的基本原理和思想,学会在tomcat服务器中配置数据库连接池,并掌握从连接池中获取连接的基本方法...
- **可更新结果集:** 允许修改结果集中的数据,并将更改同步到数据库。 ### JDBC版本发展 - **JDBC 1.x:** 最初版本,提供了基本的数据存储架构,包括核心接口。 - **JDBC 2.0:** 引入了可滚动和可更新的结果集...
例如,在Java环境下使用JDBC API处理SQL Server数据库时,如果试图对一个非可滚动的结果集执行`absolute`等方法,将会触发`com.microsoft.sqlserver.jdbc.SQLServerException`异常。这种异常往往发生在开发者期望的...
- **结果集的滚动**:可滚动的结果集允许前后移动,甚至定位到特定行。 - **结果集的并发更新**:对于支持并发的ResultSets,可以在不同事务中修改数据。 6. **数据库元数据** - **DatabaseMetaData对象**:提供...
同时,达梦JDBC驱动也支持结果集的滚动、定位和关闭等操作。 8. **元数据查询**: 可以通过DatabaseMetaData对象获取关于数据库、表、列、索引等元数据信息,帮助开发者更好地理解数据库结构。 9. **异常处理**:...
它引入了新的功能,如结果集的滚动和定位,以及改进的日期和时间类型处理。 3. **sqljdbc42.jar**: 最后,sqljdbc42.jar是针对Java 8及更高版本的,它遵循JDBC 4.2规范。此版本增加了对JSON数据类型的支持,这是...
13.3 可更新结果集 73 第十四节 编写一个简单的数据库连接池 74 14.1 为什么要使用数据库连接池 74 14.2 数据库连接池雏形 74 14.2 数据库连接池优化 77 14.2.1 对线程池加锁 77 14.2.2 连接不够用时抛出异常 77 ...
- `ResultSet`是一个可滚动的记录集合,它可以通过调用`Statement`或`PreparedStatement`的`executeQuery()`方法来获取。 - 每次调用`next()`方法都会将游标移动到结果集中的下一行。如果当前行是最后一行之后的...
- **JDBC 2.0**:引入了可滚动结果集、可更新结果集、批量更新等功能,增强了性能调整能力,并且分为核心API和可选包API两个部分。 - **JDBC 3.0**:增加了保存点功能,改进了连接池管理,并提供了一个迁移路径,...
此外,还会讲解结果集(ResultSet)的遍历和管理,包括如何滚动结果集,处理批处理更新等。 为了提高性能,教程还将介绍JDBC的批处理和连接池。批处理允许一次性发送多个SQL命令,减少网络通信开销。而连接池则管理...
6. **游标**:通过设置不同的游标类型,控制数据的读取方式,如只进、可滚动等。 7. **元数据查询**:获取数据库、表、列等的元数据信息。 8. **JNDI查找**:在应用服务器环境中,可以通过JNDI查找来获取数据库连接...