JDBC में ResultSet इंटरफ़ेस SQL क्वेरी द्वारा उत्पन्न सारणीबद्ध डेटा को दर्शाता है। इसमें एक कर्सर होता है जो वर्तमान पंक्ति को इंगित करता है। प्रारंभ में, यह कर्सर पहली पंक्ति से पहले स्थित होता है।

Result Set में पॉइंटर को घुमाना
ResultSet इंटरफ़ेस का next() मेथड वर्तमान (ResultSet) ऑब्जेक्ट के पॉइंटर को वर्तमान स्थिति से अगली पंक्ति पर ले जाता है। यह मेथड एक बूलियन मान लौटाता है, यदि इसकी वर्तमान स्थिति के आगे कोई पंक्ति नहीं है तो यह false लौटाता है, अन्यथा यह true लौटाता है। इसलिए, while लूप में इस मेथड का उपयोग करके आप Result Set की सामग्री पर पुनरावृति कर सकते हैं।
while(rs.next()){ }प्रत्येक रिकॉर्ड के कॉलम मान प्राप्त करना:
ResultSet इंटरफ़ेस (भी) प्रत्येक पंक्ति के कॉलम में मान पुनर्प्राप्त करने के लिए गेटर मेथड (getXXX()) प्रदान करता है। प्रत्येक गेटर मेथड के दो प्रकार होते हैं:
getXXX(int columnIndex): यह कॉलम के इंडेक्स को दर्शाने वाला एक पूर्णांक मान स्वीकार करता है और उसका मान लौटाता है।
getXXX(String columnLabel ): यह कॉलम के नाम को दर्शाने वाला एक स्ट्रिंग मान स्वीकार करता है और उसका मान लौटाता है।
टेबल में कॉलम के डेटाटाइप के आधार पर आपको संबंधित गेटर मेथड का उपयोग करना होगा।
उदाहरण
मान लें कि हमारे पास dataset नाम की एक टेबल है जिसकी सामग्री नीचे दिखाई गई है:
+--------------+-----------+ | mobile_brand | unit_sale | +--------------+-----------+ | Iphone | 3000 | | Samsung | 4000 | | Nokia | 5000 | | Vivo | 1500 | | Oppo | 900 | | MI | 6400 | | MotoG | 4360 | | Lenovo | 4100 | | RedMi | 4000 | | MotoG | 4360 | | OnePlus | 6334 | +--------------+-----------+
उदाहरण
निम्नलिखित उदाहरण Dataset टेबल के सभी रिकॉर्ड पुनर्प्राप्त करता है और परिणाम प्रिंट करता है:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class RetrievingData { public static void main(String args[]) throws Exception { // ड्राइवर रजिस्टर करना DriverManager.registerDriver(new com.mysql.jdbc.Driver()); // कनेक्शन प्राप्त करना String mysqlUrl = "jdbc:mysql://localhost/TestDB"; Connection con = DriverManager.getConnection(mysqlUrl, "root", "password"); System.out.println("Connection established......"); // Statement ऑब्जेक्ट बनाना Statement stmt = con.createStatement(); // डेटा पुनर्प्राप्त करना ResultSet rs = stmt.executeQuery("select * from Dataset"); System.out.println("Contents of the table"); while(rs.next()) { System.out.print("Brand: "+rs.getString("Mobile_Brand")+", "); System.out.print("Sale: "+rs.getString("Unit_Sale")); System.out.println(""); } } }आउटपुट
Connection established...... Contents of the table Brand: Iphone, Sale: 3000 Brand: Samsung, Sale: 4000 Brand: Nokia, Sale: 5000 Brand: Vivo, Sale: 1500 Brand: Oppo, Sale: 900 Brand: MI, Sale: 6400 Brand: MotoG, Sale: 4360 Brand: Lenovo, Sale: 4100 Brand: RedMi, Sale: 4000 Brand: MotoG, Sale: 4360 Brand: OnePlus, Sale: 6334