可滾動的結果集,滾動

來源:互聯網
上載者:User

可滾動的結果集,滾動
         可滾動的結果集,也就就是說我們在讀取資料庫中的記錄時不用逐個逐個的讀取,而可以根據我們的具體需要跳過幾條記錄再進行讀取

         所要用到的ResultSet中的兩個屬性:TYPE_SCROLL_INSENSITIVE(對滾動不敏感)。其中scroll譯作滾動,sensitive譯作敏感,insensitive譯作不敏感的。另一個屬性:CONCUR_READ_ONLY(並發訪問時唯讀)。其中concur譯作同時發生,即並發,即當並發訪問結果集的時候只能夠唯讀訪問,也就是只能讀取裡面的內容,不能做更改!

        使用方式如下,就是在建立Statement時使用上面的兩個參數,
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
這樣以後,在建立一個結果集(ResultSet)的引用rs之後就可以使用結果集的某些使遊標任意滾動的方法
具體代碼如下:
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:oracle12c", "c##scott",
"tiger");
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
ResultSet rs=stmt.executeQuery("select * from test");
rs.next();
System.out.println(rs.getString(1));
System.out.println(rs.isLast());
System.out.println(rs.isAfterLast());
System.out.println(rs.getRow());
rs.previous();
System.out.println(rs.getString(1));
rs.absolute(2);
System.out.println(rs.getString(1));

rs.last() //使遊標指向最後一行記錄

Rs.isLast() //判斷是否指向最後一行記錄

Rs.isAfterLast() //判斷是否指向最行一行記錄的上面一行,即倒數第二行

Rs.getRow()  //返回當前遊標所指向的是第幾行

Rs.previous() //使遊標指向當前所指向的行的上一行

Rs.absolute(int x) // 使遊標直接指向第x行



相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.