`
lzg406
  • 浏览: 61105 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java.sql.ResultSet中的几个常量

    博客分类:
  • java
阅读更多
首先回顾一下ResuleSet:
a、表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。

b、ResultSet 对象具有指向其当前数据行的光标。最初,光标被置于第一行之前。next 方法将光标移动到下一行;因为该方法在 ResultSet 对象没有下一行时返回 false,所以可以在 while 循环中使用它来迭代结果集。

c、默认的 ResultSet 对象不可更新,仅有一个向前移动的光标。因此,只能迭代它一次,并且只能按从第一行到最后一行的顺序进行。可以生成可滚动和/或可更新的 ResultSet 对象。以下代码片段(其中 con 为有效的 Connection 对象)演示了如何生成可滚动且不受其他更新影响的可更新结果集。

ResultSet中的几个静态常量:
TYPE_FORWARD_ONLY=1003
TYPE_SCROLL_INSENSITIVE=1004
TYPE_SCROLL_SENSITIVE=1005
CONCUR_READ_ONLY=1007
CONCUR_UPDATABLE=1008

这几个常量常用于这两个方法:
createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
prepareStatement(String sql, int resultSetType, int resultSetConcurrency);
这两个方法都属于java.sql.Connection

在实际开发中,我们可以利用这些参数来方便地移动指针,比如:可以得到ResultSet的记录数
Statement stmt = con.createStatement(
                                      ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet. CONCUR_READ_ONLY);
       ResultSet rs = stmt.executeQuery("SELECT id, name FROM TABLE1");
       rs.last(); //移动到最后一行
       int rownum = rs.getRow(); //获得当前行的行号,即记录的条数
       rs.absolute(1);   //将指针返回至第一条记录

接着来看看resultSetConcurrency参数的意义:
CONCUR_READ_ONLY:表示当前ResultSet对象只读,不能更新;
CONCUR_UPDATABLE:表示当前ResultSet可以更新。
在实际开发中,我们可以利用CONCUR_UPDATABLE参数来实时更新ResultSet中的数据,更新有两种方式,第一种方式是更新当前数据行的数据,如:
       rs.absolute(5); // 移动rs指针至第5行数据
       rs.updateString("NAME", "daniel"); // 将该行name列的值更新为“daniel”
       rs.updateRow(); //更新数据源的数据

第二种方式是插入一行数据,如:
       rs.moveToInsertRow(); // 将指针移动至插入行,插入行是ResultSet对象中的特殊行
       rs.updateString(1, 2); // 更新插入行中第一列的值为2
       rs.updateInt(2, "daniel"); // 更新第二列中的值为daniel
       rs.insertRow();
       rs.moveToCurrentRow(); //将指针移动至插入之前的位置


0
0
分享到:
评论

相关推荐

    映射 SQL 和 Java 类型.doc

    3. **Types类**:在java.sql.Types中定义了一系列常量,每个常量代表一个SQL类型,如Types.INTEGER对应SQL的INTEGER类型,Types.VARCHAR对应VARCHAR类型。这些常量在创建PreparedStatement时使用,以指定SQL语句中...

    Java API官方中文版

    在Java API中,我们可以找到以下几个关键部分: 1. **核心类库**:这是Java API的基础,包括`java.lang`、`java.util`、`java.io`等包。`java.lang`包是所有Java程序的基础,包含了基本数据类型、异常处理、字符串...

    java课程设计报告职工工资管理系统.pdf

    在Java程序中,通过使用java.sql.ResultSet来处理SQL查询返回的结果集,java.sql.SQLException来处理可能出现的数据库异常。 4. 数据封装:在UI组件中,用户输入的数据需要经过封装成Java对象,以便于数据库操作。...

    java1.6apicn.CHM

    在Java 1.6 API中,有几个关键的包和类值得特别关注: 1. `java.lang`包:这是所有Java程序的基础,包含了如`Object`、`String`、`Integer`等基本类型和`System`、`Math`等常用工具类。 2. `java.util`包:提供了...

    java中文API --------

    Java API分为几个主要部分: 1. **基础类库**:包括了`java.lang`包,它是所有Java程序的基础,包含了如`Object`、`String`、`System`等核心类。`java.io`包提供了输入输出流处理,如`FileInputStream`和`...

    jdbc连接oracle11g初次封装.docx

    该类包含了多个 Java 基础包的导入,如 `java.sql.*`、`java.util.*` 等,这些包提供了实现 JDBC 功能所需的基础类和接口。 ```java package com.newfutrue.jdbc.utl; import java.sql.Connection; import java.sql...

    Java开发api文档

    Java API文档主要分为以下几个部分: 1. **核心类库**:包括基础的`java.lang`包,其中定义了所有Java程序都默认导入的基本类,如`Object`、`String`、`System`等。还有`java.util`包,提供集合框架、日期时间、...

    java_API.rar

    在JDK 1.6的API中,有几个关键的包值得特别关注: 1. `java.lang`:这个包是所有Java程序的基础,包含了一些核心类,如Object、String、System等。其中,Object是所有类的基类,提供了对象的基本操作;String类用于...

    Java API文档中文版.7z

    如果你在进行数据库操作,`java.sql`包下的DriverManager、Connection、Statement和ResultSet等接口和类是你不可或缺的参考。 总的来说,Java API文档中文版是Java开发者必备的学习和工作工具,无论你是初学者还是...

    JDK API 1.6 中文

    9. **数据库连接**:`java.sql`包提供了访问和操作关系型数据库的接口和类,如`Connection`、`Statement`和`ResultSet`。 10. **国际化与本地化**:`java.text`和`java.util.Locale`支持多语言环境,使得应用能够...

    JDK API 1.6CHM 中文版

    10. **数据库连接**:`java.sql`包提供了与关系型数据库交互的接口,如`Connection`、`Statement`和`ResultSet`。 JDK API文档1.6中文版的使用,可以帮助开发者快速查找和理解特定类或方法的功能和用法,避免编程时...

    华为Java笔试题华为Java笔试题

    - **解析**: Java中的数据库连接主要通过`java.sql`包来实现,这个包包含了用于与各种关系型数据库进行交互的基本接口和类,如`Connection`、`Statement`、`PreparedStatement`和`ResultSet`等。 ### Java逻辑操作...

    JDK6API帮助文档

    在Java API中,有以下几个核心的包和类,它们构成了Java的基础框架: 1. **java.lang**:这是所有Java程序都隐式导入的包,包含了一些基础类,如`String`、`Object`、`System`和`Math`。`Object`是所有类的父类,而...

    J2EE API 帮助文档

    3. **JDBC (Java Database Connectivity) API**: 用于与各种数据库进行通信,如`java.sql.Connection`、`java.sql.Statement`和`java.sql.ResultSet`等,提供了数据库访问的标准化接口。 4. **EJB (Enterprise ...

    【中文】【JAVA2 SDK 类库详解】【RAR】

    主要包括以下几个方面: - **java.lang**:提供了语言支持类,比如String、Object等。 - **java.util**:包含数据结构和实用工具类,如List、Set、HashMap等。 - **java.io**:提供了输入/输出流的处理,如...

    java笔试复习资料.pdf

    这份Java笔试复习资料主要涵盖了Java编程中的几个关键知识点:面向对象编程(OOP)、JDBC数据库连接以及一些基础的Java API使用方法。以下是对这些知识的详细解析: 1. 面向对象编程(OOP) 面向对象编程是Java编程...

    JDBC开发的接口和JDBC编程步骤

    在JDBC开发中,通常会涉及以下几个核心接口和编程步骤: 1. **JDBC开发的接口**: - **Driver**: 数据库驱动,每个数据库厂商都会提供对应的JDBC驱动实现,例如MySQL的`com.mysql.jdbc.Driver`,Oracle的`oracle....

    JDK1.6 API帮助文档

    在JDK1.6中,API主要分为以下几个核心部分: 1. **java.lang**: 这是最基础的包,包含了所有Java程序都默认导入的类和接口,如`Object`、`String`、`Integer`、`System`、`Thread`等。`Object`是所有类的父类,提供...

    康时笔试题.doc

    Servlet 的生命周期包括以下几个阶段: - **初始化**:当服务器加载 Servlet 时调用 init() 方法。 - **服务**:处理客户端请求时调用 service() 方法。 - **销毁**:服务器停止或者卸载 Servlet 时调用 destroy() ...

Global site tag (gtag.js) - Google Analytics