`
Sarah-Brightman
  • 浏览: 73577 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

jdbc编程基础(六)——可滚动和可更新的结果集

阅读更多
 
一、可滚动结果集

   一般使用ResultSet类中的next方法可以迭代遍历结果集中的所有行。我们通常会希望在结果集上前后移动。但是jdbc1并未提供previous方法,为了实现向后遍历,程序员不得不手动缓存结果集中的数据。使用jdbc2中的可滚动结果集,可以在结果集上前后移动并且可以跳转到结果集中的任何位置。
   1、 可滚动结果集的创建:
     Statement stmt = conn.createStatement(type, concurrency);
     PreparedStatement pstmt = conn.preparedStatement(type, concurrency);
         变量type来设置是否是可滚动的结果集,可以是以下几个ResultSet常量
        
         TYPE_FORWARD_ONLY :结果集不能滚动

         TYPE_SCROLL_INSENSITIVE:结果集可以滚动,但是对数据库变化不敏感,数据库查询
                                  生成结果集后发生了变化,结果集不发生变化。

          TYPE_SCROLL_SENSITIVE:结果集可以滚动,但是对数据库变化敏感。


二、 可更新结果集
 
   更新结果集的内容,数据库将自动更新。
        1、可更新结果集的创建
               Statement stmt = conn.createStatement(type, concurrency);
               PreparedStatement pstmt = conn.preparedStatement(type,    
                                                                 concurrency);
               变量concurrency 设置是否可以更新,ResultSet类的concurrency的值:
                  
                   CONCUR_READ_ONLY 结果集不能用于更新数据库
                  
                   CONCUR_UPDATABLE  结果集可以更新数据库

            update: rs.updateXxx(cloumnNameInResultSet, newValue)
                     rs.updateRow();
             insert: rs.movetoInsertRow();
                      rs.updateString("title",title);
                      rs.updateDouble("price", price)l
                     rs.insertRow();
                     rs.moveToCurrentRow();
                     注意,无法控制在结果集或数据库中添加新数据的位置。
              delete: rs.deleteRow();




实际上,数据库驱动程序可能无法支持对可滚动或可更新的请求,使用DatabaseMetaData类中的supportsResultSetType和supportsResultSetConcurrency方法,我们可以获知某个数据库究竟支持哪些结果集类型以及那些模式。一个复杂的查询的结果集可能是不可更新的结果集。
分享到:
评论

相关推荐

    JDBC数据库编程实验

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

    jdbc基础编程练习步骤

    jdbc基础编程练习jdbc基础编程练习jdbc基础编程练习jdbc基础编程练习jdbc基础编程练习jdbc基础编程练习jdbc基础编程练习jdbc基础编程练习jdbc基础编程练习jdbc基础编程练习jdbc基础编程练习jdbc基础编程练习jdbc基础...

    MySQL——JDBC编程

    MySQL——JDBC编程

    JDBC编程技术JDBC编程技术

    JDBC编程技术JDBC编程技术JDBC编程技术JDBC编程技术JDBC编程技术JDBC编程技术JDBC编程技术

    javaSwing+JDBC+Mysql项目——零食贩卖管理系统

    javaSwing+JDBC+Mysql项目——零食贩卖管理系统,内含增删改查等完整版操作。操作简单,部署也简单,极易学会。

    JDBC简单实例项目——ATM机

    源自我自己做的一个小项目,只实现了所有ATM的功能,与后台MySQL建立连接,在控制台进行用户交互,非常适合新手练习,全部敲完后基本掌握这一块章节内容

    数据库基础与JDBC编程技术.

    数据库基础与JDBC编程技术.数据库基础与JDBC编程技术.数据库基础与JDBC编程技术.数据库基础与JDBC编程技术.数据库基础与JDBC编程技术.

    JDBC学习资料 jdbc编程

    jdbc基础 JDBC编程 网络编程 线 程

    JDBC基础JDBC基础

    JDBC基础JDBC基础JDBC基础JDBC基础JDBC基础JDBC基础JDBC基础JDBC基础JDBC基础

    JDBC API教程与参考手册part3

    然后,本书转向更高级的主题,集中介绍JDBC 3.0API的一些高级功能,如可滚动和可更新的结果集、批量更新、SQL99数据类型、定制映射、保存点、语句池以及自动生成键等。 除了深入介绍JDBC元数据API之外,本书还给出了...

    踩踩踩JDBC六大步骤

    1、JDBC编程六大步: 1)注册driver 1.class.forName(driver) 2.new oracle.jdbc.driver.OracleDriver(); 3.java -Djdbc.drivers=oracle.jdbc.driver.OracleDriver jdbc.drivers=System.gerProperties(); 2)获得...

    JDBC API教程与参考手册part4

    然后,本书转向更高级的主题,集中介绍JDBC 3.0API的一些高级功能,如可滚动和可更新的结果集、批量更新、SQL99数据类型、定制映射、保存点、语句池以及自动生成键等。 除了深入介绍JDBC元数据API之外,本书还给出了...

    JDBC基础——小练习

    java ,jdbc 是基础代码。希望有用!

    JDBC API教程与参考手册part2

    然后,本书转向更高级的主题,集中介绍JDBC 3.0API的一些高级功能,如可滚动和可更新的结果集、批量更新、SQL99数据类型、定制映射、保存点、语句池以及自动生成键等。 除了深入介绍JDBC元数据API之外,本书还给出了...

    java实验实验报告 add 实验一:多线程/2.Runnable接口. 实验八:JDBC数据库编程二-存储过程

    实验八:JDBC数据库编程二——存储过程与函数 add 实验八:JDBC数据库编程二——存储过程与函数/2.addTwoNumAndReturn. 实验十:Socket编程 add 实验十:Socket编程/客户端代码client.java. 实验四:集合的...

    jtds.jdbc.Driver ,连接 SQL Server 所需驱动

    jTDS是一个开放源代码的100%纯Java实现的JDBC3.0驱动, 它用于连接 Microsoft SQL Server(6.5,7,...jTDS完全与JDBC3.0兼容,支持只向前和可滚动/可更新的结果集(ResultSets),并且支持完全独立的并行Statements

    jdbc课件——关于JDBC的基础知识

    关于jdbc的基础知识。 1:MySQL简介 2:MySQL列类型 3:SQL语句语法 4:MySQL图形界面操作

    JDBC编程代码示例

    基于MysqlJDBC编程代码示例,包括配置文件读取,连接对象的创建,查询,增加,修改,元数据的使用方法,图片数据数据库存储读取,存储过程的SQL创建语句和java使用存储过程进行增删改查的调用...可滚动结果集的使用方法

    Java JDBC编程总结

    Java JDBC编程总结 Hibernate、TopLink等OR Mapping操作数据库的技术都是建立JDBC技术之上的,实际来说,他们的性能和JDBC是有很大差距的,但反过来说,如果JDBC用不好,还不如hibernate呢。暂且不说这些孰优孰劣的...

    JDBC——连接oracle数据库

    JDBC——连接oracle数据库

Global site tag (gtag.js) - Google Analytics