logo

واجهة مجموعة النتائج

يحتفظ كائن 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) المطلق المنطقي العام (صف int): يتم استخدامه لتحريك المؤشر إلى رقم الصف المحدد في كائن ResultSet.
6) قريب منطقي عام (صف int): يُستخدم لتحريك المؤشر إلى رقم الصف النسبي في كائن ResultSet، فقد يكون موجبًا أو سالبًا.
7) int getInt العام (int columnIndex): يتم استخدامه لإرجاع بيانات فهرس العمود المحدد للصف الحالي كـ int.
8) getInt العام (اسم عمود السلسلة): يتم استخدامه لإرجاع بيانات اسم العمود المحدد للصف الحالي كـ int.
9) سلسلة getString العامة (int columnIndex): يُستخدم لإرجاع بيانات فهرس العمود المحدد للصف الحالي كسلسلة.
10) سلسلة getString العامة (اسم عمود السلسلة): يُستخدم لإرجاع بيانات اسم العمود المحدد للصف الحالي كسلسلة.

مثال على مجموعة النتائج القابلة للتمرير

دعونا نرى المثال البسيط لواجهة 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(); }}