ResultSet的对象维护一个光标, 该光标指向表的一行。最初, 光标指向第一行之前。
默认情况下, ResultSet对象只能向前移动, 并且不可更新。
但是我们可以通过在createStatement(int, int)方法中传递TYPE_SCROLL_INSENSITIVE或TYPE_SCROLL_SENSITIVE来使该对象向前和向后移动, 还可以通过以下方式使该对象可更新:
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
ResultSet接口的常用方法
1)公共布尔next(): | 用于将光标从当前位置移到下一行。 |
2)公共布尔的previous(): | 用于将光标从当前位置移到上一行。 |
3)公共布尔first(): | 用于将光标移动到结果集对象的第一行。 |
4)公共布尔last(): | 用于将光标移动到结果集对象的最后一行。 |
5)公共布尔绝对值(int row): | 用于将光标移动到ResultSet对象中的指定行号。 |
6)布尔布尔亲戚(int row): | 用于将光标移动到ResultSet对象中的相对行号, 它可以是正数或负数。 |
7)public int getInt(int columnIndex): | 用于以int返回当前行的指定列索引的数据。 |
8)public int getInt(String columnName): | 用于以int返回当前行的指定列名的数据。 |
9)public String getString(int columnIndex): | 用于将当前行的指定列索引的数据作为String返回。 |
10)公共字符串getString(String columnName): | 用于将当前行的指定列名的数据作为String返回。 |
可滚动ResultSet的示例
让我们看一下ResultSet接口的简单示例, 该接口用于检索第三行的数据。
import java.sql.*;
class FetchRecord{
public static void main(String args[])throws Exception{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "system", "oracle");
Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
ResultSet rs=stmt.executeQuery("select * from emp765");
//getting the record of 3rd row
rs.absolute(3);
System.out.println(rs.getString(1)+" "+rs.getString(2)+" "+rs.getString(3));
con.close();
}}
评论前必须登录!
注册