`
不复记忆
  • 浏览: 157144 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类

ResultSet方法(转载)

 
阅读更多

Statement st = conn.createStatement(int resultSetType, int resultSetConcurrency)
ResultSet rs = st.executeQuery(sqlStr)

ResultSet.TYPE_FORWARD_ONLY 只能向前滚动
ResultSet.TYPE_SCROLL_SENSITIVE 当他人同时操作时,会影响结果集
ResultSet.TYPE_SCROLL_INSENSITIVE 当他人同时操作时,不会影响结果集

ResultSet.TYPE_SCROLL_INSENSITIVE和Result.TYPE_SCROLL_SENSITIVE这两个方法都能够实现任意的前后滚动,使用各种移动的ResultSet指针的方法。二者的区别在于前者对于修改不敏感,而后者对于修改敏感。
resultSetConcurency是设置ResultSet对象能够修改的,取值如下:
ResultSet.CONCUR_READ_ONLY 设置为只读类型的参数。
ResultSet.CONCUR_UPDATABLE 设置为可修改类型的参数。


以下两种方法的共性:返回可滚动的结果集,当数据库变化时,当前结果集同步改变。
不可用结果集更新数据库:
con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
可用结果集直接更新数据库:
con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATETABLE);

###########################################################################

在Statement不能滚动不能更新的情况下:
boolean next() 游标移至下一个记录的位置,如果下一个记录不存在,返回false
各种各样的getXXX方法,放回相应行的相应数据.

在Statement可以滚动的情况下:
boolean first() 游标移至第一个记录的位置,如果ResultSet是空的,返回false
boolean last() 游标移至最后一个记录的位置,如果ResultSet是空的,返回false

boolean isFirst() 如果现在游标在第一个记录的位置,返回true
boolean isLast() 如果现在游标在最后一个记录的位置,返回true

void beforeFirst() 游标移至第一个记录之前的位置
void afterLast() 游标移至最后一个记录之后的位置

boolean isBeforeFirst() 如果现在游标在第一个记录之前的位置,返回true
boolean isAfterLast() 如果现在游标在最后一个记录之后的位置,返回true

boolean previous() 游标移至上一个记录的位置,如果上一个记录不存在,返回false

int getRow() 获得游标当前行的号码,从1开始
boolean absolute(int) 若参数为正,游标移至第参数个记录的位置上,若为负,移至倒数第参数个记录的位置上,如果移动之后,游标指向的位置有记录,返回true.
boolean relative(int) 若参数为政,游标自当前位置向后移动参数个位置,若为负,向前移,如果移动之后,游标指向的位置有记录,返回true.
在Statement可以更新的情况下:
分三种情况.
一:更新一行的记录
通过next(),previous(),absolute(),relative()等方法将游标移至要更新的记录的位置
使用各种各样的updateXXX方法,更新相应类型的数据.
调用updateRow()方法,将更新结果更新至数据库.
在updateRow()之前,可以调用cancelRowUpdate()撤销对当前行的修改.
如果不调用updateRow(),虽然更新结果不会更新至数据库,但是ResultSet中的数据却被更新了.

二:插入一行记录
首先,调用moveToInsertRow(),将游标移至一个特殊的插入行位置.
调用updateXXX()方法,对插入行各列进行更新.
调用insertRow(),将插入行的数据插入数据库.
调用moveToCurrentRow(),将游标移回调用moveToInsertRow()之前的位置.

三:删除一行的记录
将游标移至要删除的记录的位置,调用deleteRow()方法.

分享到:
评论
1 楼 wubishine 2010-12-08  
使用游标会影响性能吗

相关推荐

    javaResultSet常用方法.pdf

    Java ResultSet常用方法 Java ResultSet是Java数据库连接(JDBC)中最重要的组件之一,用于存储和处理数据库查询结果。在Java中,ResultSet对象是通过Statement对象的executeQuery()方法或prepareStatement()方法...

    ResultSet

    11. 其他特性:ResultSet还支持定位特定行(absolute()和relative()方法),检查当前行是否被修改(rowUpdated()方法),以及获取当前行号(getRow()方法)等。 总结来说,ResultSet是Java数据库编程的核心组件,...

    ResultSet常用方法

    以下是对ResultSet常用方法的详细解释: 1. **移动指针**: - `rs.previous()`:将结果集的游标向前移动一行,如果已经位于第一条记录,此操作将导致游标保持不变。 - `rs.next()`:将游标向后移动一行,这是遍历...

    ResultSet对象获取数据的各种方法

    ### ResultSet对象获取数据的各种方法 在Java编程语言中,`ResultSet`对象是处理数据库查询结果的核心组件之一。它充当一个可滚动的、可更新的数据表,用于存储从数据库执行SQL语句后返回的结果集。本文将详细介绍...

    java数据库连接ResultSet

    ResultSet 通过一套 get 方法访问当前行中的不同列,例如 getInt、getString、getFloat 等。 在使用 ResultSet 之前,需要先执行 SQL 语句,并将结果存储到 ResultSet 对象中。例如: ```java java.sql.Statement ...

    java resultset常用方法

    ### Java ResultSet 常用方法详解 #### 一、ResultSet 类型概述 在Java的JDBC编程中,`ResultSet`接口用于表示从数据库查询中获取的结果集。它提供了多种方式来处理这些数据,并且根据不同的应用场景,支持不同类型...

    ResultSet 转为listmap

    ResultSet 转为 List ResultSet 转为 List<Map> 是一种常见的数据处理操作。在 Java 中,使用 JDBC 连接数据库时,通常会返回一个 ResultSet 对象,该对象包含了查询结果集的所有记录。为了方便数据处理和使用,...

    支持ResultSet的JTable

    2. **SQL查询**:执行`Statement`或`PreparedStatement`对象的`executeQuery()`方法来执行SQL查询,这会返回一个`ResultSet`对象。 3. **处理ResultSet**:`ResultSet`是一个游标,可以按照顺序读取查询结果。我们...

    JAVA 版本ResultSet 转换为JAVABEAN的工具类

    这个工具类通常包含一个静态方法,接受ResultSet和JavaBean类型作为参数,然后遍历ResultSet,将数据填充到JavaBean对象中: ```java import java.sql.ResultSet; import java.sql.SQLException; public class ...

    ResultSet转化为json,json转化为List

    在Java编程中,数据处理是核心任务之一,而ResultSet、JSON和List是处理数据时常见的三种数据结构。ResultSet是数据库查询结果的载体,JSON是一种轻量级的数据交换格式,而List是Java集合框架中的动态数组。本文将...

    ResultSet的属性

    ResultSet是Java数据库连接(JDBC)中的一个重要接口,它用于存储和检索数据库查询结果。当执行SQL查询后,结果会被封装成ResultSet对象,允许我们逐行遍历并访问查询返回的数据。在处理ResultSet时,了解其属性和元...

    获得结果集的字段名称_ResultSet的属性要调用ResultSetMetaData的方法

    获得结果集的字段名称_ResultSet的属性要调用ResultSetMetaData的方法 在Java中,获取结果集的字段名称可以通过调用ResultSetMetaData的方法来实现。ResultSetMetaData是一个公共接口,提供了关于ResultSet对象中列...

    ResultSet用法集锦

    本文将深入探讨`ResultSet`的使用方法,结合源码分析和实用工具,以帮助你更好地理解和应用这个重要的数据处理组件。 1. `ResultSet`接口概述: `ResultSet`接口是Java JDBC(Java Database Connectivity)的一部分...

    poi根据ResultSet到处Excle源码

    - ResultSet的遍历,如next()方法和各字段的get方法 - Workbook、Sheet、Row和Cell对象的创建与操作 - 文件I/O操作,尤其是OutputStream的使用来写入Excel文件 - 错误处理和资源管理,如关闭数据库连接和流 总的来...

    resultset2xml

    在Java项目中,我们可能有一个名为Util的类,包含静态方法来处理ResultSet到XML的转换。这种方法的好处是代码的重用性和模块化,使得其他部分的代码可以方便地调用这个功能。 在处理大型ResultSet时,我们还需要...

    如何从 Java 存储过程将 JDBC ResultSet 作为 Ref Cursor 返回.doc

    在上述例子中,getDepartments()方法接收一个ResultSet类型的数组作为OUT参数。由于Java不直接支持REF CURSOR作为参数类型,我们使用数组来模拟这一行为。当存储过程执行完毕后,DEPT表的所有数据会被填充到rout数组...

    实用的jdbc的工具类,提供多种ResultSet的转化方法

    次类对ResultSet进行封装,可以将其转化为List,Map,BO等

    ResultSet转换为List的方法

    ResultSet转换为List的方法 ResultSet(结果集)是一种数据结构,用来存储查询数据库后返回的数据。在Java中,ResultSet对象是通过执行SQL语句后返回的结果集对象。然而,在实际开发中,我们往往需要将ResultSet...

Global site tag (gtag.js) - Google Analytics