Java ResultSet getType()方法与示例

该java.sql.ResultSet中的接口表示由SQL语句返回这样的表格数据。

即ResultSet对象保存由执行查询数据库的语句的方法返回的表格数据(通常是Statement接口的executeQuery()方法)。

ResultSet对象的类型根据您可以遍历的方向及其灵敏度确定结果集的类型。(在ResultSet中完成的更改是否反映在数据库中)

ResultSet接口提供三个值来指定ResultSet类型,即-

  • TYPE_FORWARD_ONLY-光标仅沿一个方向移动的ResultSet对象被称为仅向前ResultSet。缺省情况下,JDBC结果集是仅转发结果集,用整数1003表示。

  • TYPE_SCROLL_INSENSITIVE -ResultSet光标向前或向后移动。这种类型的ResultSet对数据库中所做的更改不敏感,即数据库中所做的修改未反映在ResultSet中,并由整数1004表示。

  • TYPE_SCROLL_SENSITIVE -ResultSet光标向前或向后移动。这种类型的ResultSet对数据库中所做的更改敏感,即,数据库中所做的修改将反映在ResultSet中,并由整数1005表示。

ResultSet 接口的 getType()方法检索当前ResultSet的类型。

此方法返回一个整数值,该值表示ResultSet对象的类型。

示例

让我们使用CREATE语句在MySQL数据库中创建一个名为MyPlayers的表,如下所示-

CREATE TABLE MyPlayers(

   ID INT,

   First_Name VARCHAR(255),

   Last_Name VARCHAR(255),

   Date_Of_Birth date,

   Place_Of_Birth VARCHAR(255),

   Country VARCHAR(255),

   PRIMARY KEY (ID)

   );

现在,我们将使用INSERT语句在MyPlayers表中插入7条记录-

insert into MyPlayers values(1, 'Shikhar', 'Dhawan', DATE('1981-12-05'), 'Delhi', 'India');

insert into MyPlayers values(2, 'Jonathan', 'Trott', DATE('1981-04-22'), 'CapeTown', 'SouthAfrica');

insert into MyPlayers values(3, 'Kumara', 'Sangakkara', DATE('1977-10-27'), 'Matale', 'Srilanka');

insert into MyPlayers values(4, 'Virat', 'Kohli', DATE('1988-11-05'), 'Delhi', 'India');

insert into MyPlayers values(5, 'Rohit', 'Sharma', DATE('1987-04-30'), 'Nagpur', 'India');

insert into MyPlayers values(6, 'Ravindra', 'Jadeja', DATE('1988-12-06'), 'Nagpur', 'India');

insert into MyPlayers values(7, 'James', 'Anderson', DATE('1982-06-30'), 'Burnley', 'England');

下面的示例检索MyPlayers表的内容作为ResultSet对象,并显示ResultSet的类型。

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

public class ResultSet_getType {

   public static void main(String args[]) throws SQLException {

      //注册驱动程序

      DriverManager.registerDriver(new com.mysql.jdbc.Driver());

      //获得连接

      String mysqlUrl = "jdbc:mysql://localhost/mydatabase";

      Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");

      System.out.println("Connection established......");

      //创建语句

      Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);

      //查询以检索记录

      String query = "Select * from MyPlayers";

      //执行查询

      ResultSet rs = stmt.executeQuery(query);

      //检索当前ResultSet对象的数据类型

      int resultSet_Type = rs.getType();

      System.out.println("Type of the ResultSet object: "+resultSet_Type);

   }

}

输出结果

Connection established......

Type of the result set: 1005

以上是 Java ResultSet getType()方法与示例 的全部内容, 来源链接: utcz.com/z/334875.html

回到顶部