האובייקט של ResultSet שומר על סמן המצביע על שורה של טבלה. בתחילה, הסמן מצביע לפני השורה הראשונה.
כברירת מחדל, ניתן להזיז את אובייקט ResultSet קדימה בלבד והוא אינו ניתן לעדכון.
אבל אנחנו יכולים לגרום לאובייקט הזה לנוע קדימה ואחורה על ידי העברת TYPE_SCROLL_INSENSITIVE או TYPE_SCROLL_SENSITIVE בשיטת createStatement(int,int) כמו גם שנוכל להפוך את האובייקט הזה לעדכן על ידי:
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
שיטות נפוצות של ממשק ResultSet
1) בוליאני ציבורי הבא(): | משמש להזזת הסמן לשורה הבאה מהמיקום הנוכחי. |
2) בוליאני ציבורי קודם(): | משמש להזזת הסמן לשורה הקודמת מהמיקום הנוכחי. |
3) בוליאני ציבורי תחילה(): | משמש להזזת הסמן לשורה הראשונה באובייקט ערכת התוצאה. |
4) בוליאני ציבורי אחרון(): | משמש להזזת הסמן לשורה האחרונה באובייקט ערכת התוצאה. |
5) מוחלט בוליאני ציבורי (שורה פנימית): | משמש להזזת הסמן למספר השורה שצוין באובייקט ResultSet. |
6) קרוב משפחה בוליאני ציבורי (שורה פנימית): | משמש להזזת הסמן למספר השורה היחסית באובייקט ResultSet, הוא עשוי להיות חיובי או שלילי. |
7) public int getInt(int columnIndex): | משמש להחזרת הנתונים של אינדקס העמודות שצוין בשורה הנוכחית בתור int. |
8) public int getInt(String columnName): | משמש להחזרת הנתונים של שם העמודה שצוין של השורה הנוכחית בתור int. |
9) מחרוזת ציבורית getString(int columnIndex): | משמש להחזרת הנתונים של אינדקס העמודות שצוין בשורה הנוכחית כמחרוזת. |
10) מחרוזת ציבורית getString(String columnName): | משמש להחזרת הנתונים של שם העמודה שצוין של השורה הנוכחית כמחרוזת. |
דוגמה ל-Scrollable 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(); }}