`
Sarah-Brightman
  • 浏览: 75068 次
  • 性别: 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服务器中配置数据库连接池,并掌握从连接池中获取连接的基本方法...

    MySQL——JDBC编程

    【MySQL——JDBC编程】是关于使用Java程序与MySQL数据库进行交互的技术讲解。JDBC(Java Database Connectivity)是Java中用于执行SQL语句的一组API,它为多种关系型数据库提供统一的访问接口,允许Java开发者操作...

    JDBC简单实例项目——ATM机

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

    JDBC基础——小练习

    【JDBC基础——小练习】 Java数据库连接(Java Database Connectivity,简称JDBC)是Java编程语言中用于执行SQL语句的API,它使得Java开发者能够访问各种类型的数据库系统。本练习将带你深入理解JDBC的基础知识,...

    JDBC编程!java中的数据库连接!源代码!适合初学者!

    总的来说,JDBC编程是Java程序员必须掌握的基础技能之一,它不仅可以帮助我们理解数据库操作的底层原理,还可以提高我们解决实际问题的能力。对于初学者来说,通过学习JDBC编程,可以加深对Java和数据库的理解,为...

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

    数据库基础与JDBC编程技术是IT领域中至关重要的部分,主要涉及如何管理和操作数据以及如何通过Java语言与数据库进行交互。下面将详细讲解这两个主题。 首先,我们来探讨数据库基础。数据库是一个组织和存储数据的...

    实验九:JDBC编程

    本实验报告总结了使用Java数据库连接(JDBC)编程的实验过程和结果。通过本实验,我掌握了JDBC的概念与使用场景,理解了JDBC的工作原理,掌握了使用JDBC操作数据库的基本步骤,掌握了JDBC中几个常用接口和类,了解了...

    JAVA数据库编程JDBC 与 Java数据库接口JDBC入门基础讲座 与 JDBC API数据库编程实作教材-程序设计-JAVA JDBC全压缩包.rar

    4. **游标的使用**:理解不同类型的游标,如只读、可滚动和可更新游标。 5. **数据库连接的自动重连策略**:当数据库连接因网络问题中断时,如何实现自动恢复连接。 6. **大数据量处理**:如何使用流式结果集...

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

    JDBC(Java Database Connectivity)是Java编程语言中用来规范客户端程序如何访问数据库的应用程序接口,提供了诸如连接数据库、发送SQL语句、处理结果集等操作的标准方法。学习JDBC主要包括以下几个方面: 1. **...

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

    在Java编程中,可滚动结果集(Scrollable ResultSet)是一个重要的数据库操作概念,尤其是在处理大量数据或需要在结果集中进行双向导航时。本实例55着重讲解如何在Java应用程序中创建和使用可滚动的结果集。 Java...

    JDBC API教程与参考手册part3

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

    JDBC编程技术JDBC编程技术

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

    JDBC API教程与参考手册part4

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

    java语言程序设计Bonus chapter38

    在深入本章节之前,我们先来了解Java数据库编程的基本概念和知识点,本章节主要涉及Java数据库连接(JDBC)的高级特性,包括通用SQL客户端的创建、SQL语句的批处理执行、可滚动和可更新结果集的处理、使用RowSet简化...

    JDBC API教程与参考手册part2

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

    jdbc 编程实例

    **JDBC编程实例详解** Java Database Connectivity(JDBC)是Java平台中用于访问数据库的标准Java API,它允许Java应用程序与各种数据库进行交互。本篇将深入讲解JDBC编程实例,帮助开发者更好地理解和运用JDBC技术...

    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

Global site tag (gtag.js) - Google Analytics