`
jallay
  • 浏览: 43845 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

JDBC如何设置可滚动的结果集及动态更新

阅读更多
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);
		}
	}

}

分享到:
评论
1 楼 luzl 2009-02-24  
学的这么认真呀!

相关推荐

    JAVA100例之实例55 可滚动结果集

    如果需要更新结果集,可以使用`ResultSet.CONCUR_UPDATABLE`。 接下来,执行SQL查询并获取结果集: ```java String sql = "SELECT * FROM my_table"; ResultSet rs = stmt.executeQuery(sql); ``` 现在,rs是一个...

    JDBCJDBC高级应用

    - 创建可更新结果集时,需要指定并发性类型,如 `ResultSet.CONCUR_UPDATABLE`,并配合 `ResultSet.TYPE_SCROLL_INSENSITIVE` 或 `ResultSet.TYPE_SCROLL_SENSITIVE` 使用。 - 更新结果集中的数据通常涉及 `update...

    com.microsoft.sqlserver.jdbc.SQLServerException: 只进结果集不支持请求的操作 解决方案

    最直接的方法是在创建`Session`时指定查询结果集为可滚动类型(scrollable)。这可以通过在Hibernate配置文件中设置`hibernate.connection.autocommit`属性为`false`,并在查询前手动设置事务,然后通过`Session`的`...

    JDBC批量插入 更新 删除等操作

    `ResultSet.CONCUR_READ_ONLY`则表示这个结果集只能被用于读取,不能进行修改。 #### 二、JDBC批量更新 **批量更新**是指一次性执行多个更新操作,比如批量更新用户信息、产品信息等。批量更新的原理与批量插入...

    jdbc2000,jdbc2005

    3. **结果集的滚动和分页(Scrollable Result Sets and Pagination)**:开发者可以前后移动结果集,实现分页查询,提升用户体验。 4. **数据源(DataSources)**:通过JNDI(Java Naming and Directory Interface)...

    JDBC连接操作Oracle及Mysql详解

    本文将详细解析如何使用JDBC来连接并操作Oracle 11g和MySQL 5数据库,涉及的主要知识点包括参数传递、反射、读取属性文件、预处理语句、批处理、带参数的存储过程、事务管理和可滚动/可更新的结果集。 首先,JDBC...

    JDBC2.0新功能

    JDBC 2.0引入了可更新结果集,开发者可以直接使用Java方法而非SQL语句来更新数据。通过在`createStatement`中指定`ResultSet.CONCUR_UPDATABLE`,我们可以创建一个可更新的结果集。`updateXXX()`方法如`...

    高级JDBC教案

    这通过设置`Statement`的`ResultSetConcurrency`和`ResultSetType`属性实现,例如,`ResultSet.TYPE_SCROLL_INSENSITIVE`和`ResultSet.CONCUR_UPDATABLE`组合可以创建一个可滚动且可更新的结果集。 批处理更新...

    JDBC数据库编程实验

    (3)掌握可滚动和可更新的结果集的基本操作方法; (4)理解JDBC中实现事务处理的基本方法; (5)理解数据库连接池的基本原理和思想,学会在tomcat服务器中配置数据库连接池,并掌握从连接池中获取连接的基本方法...

    只进结果集不支持请求的操作的“解决方法

    例如,在Java环境下使用JDBC API处理SQL Server数据库时,如果试图对一个非可滚动的结果集执行`absolute`等方法,将会触发`com.microsoft.sqlserver.jdbc.SQLServerException`异常。这种异常往往发生在开发者期望的...

    jdbc api tutorial and reference

    - **结果集的滚动**:可滚动的结果集允许前后移动,甚至定位到特定行。 - **结果集的并发更新**:对于支持并发的ResultSets,可以在不同事务中修改数据。 6. **数据库元数据** - **DatabaseMetaData对象**:提供...

    Dm7JdbcDriver16.jar Dm7JdbcDriver17.jar Dm7JdbcDriver18.jar

    同时,达梦JDBC驱动也支持结果集的滚动、定位和关闭等操作。 8. **元数据查询**: 可以通过DatabaseMetaData对象获取关于数据库、表、列、索引等元数据信息,帮助开发者更好地理解数据库结构。 9. **异常处理**:...

    sqljdbc4.jar, sqljdbc41.jar, sqljdbc42.jar三个包

    它引入了新的功能,如结果集的滚动和定位,以及改进的日期和时间类型处理。 3. **sqljdbc42.jar**: 最后,sqljdbc42.jar是针对Java 8及更高版本的,它遵循JDBC 4.2规范。此版本增加了对JSON数据类型的支持,这是...

    Java_JDBC由浅入深

    13.3 可更新结果集 73 第十四节 编写一个简单的数据库连接池 74 14.1 为什么要使用数据库连接池 74 14.2 数据库连接池雏形 74 14.2 数据库连接池优化 77 14.2.1 对线程池加锁 77 14.2.2 连接不够用时抛出异常 77 ...

    jdbc问题集收藏总结

    - `ResultSet`是一个可滚动的记录集合,它可以通过调用`Statement`或`PreparedStatement`的`executeQuery()`方法来获取。 - 每次调用`next()`方法都会将游标移动到结果集中的下一行。如果当前行是最后一行之后的...

    JDBC与Java数据库编程

    - **JDBC 2.0**:引入了可滚动结果集、可更新结果集、批量更新等功能,增强了性能调整能力,并且分为核心API和可选包API两个部分。 - **JDBC 3.0**:增加了保存点功能,改进了连接池管理,并提供了一个迁移路径,...

    jdbc开发教程pdf

    此外,还会讲解结果集(ResultSet)的遍历和管理,包括如何滚动结果集,处理批处理更新等。 为了提高性能,教程还将介绍JDBC的批处理和连接池。批处理允许一次性发送多个SQL命令,减少网络通信开销。而连接池则管理...

    sqljdbc.jar

    6. **游标**:通过设置不同的游标类型,控制数据的读取方式,如只进、可滚动等。 7. **元数据查询**:获取数据库、表、列等的元数据信息。 8. **JNDI查找**:在应用服务器环境中,可以通过JNDI查找来获取数据库连接...

Global site tag (gtag.js) - Google Analytics