কম্পিউটার টিউটোরিয়াল

JDBC-তে ResultSet কী? ResultSet অবজেক্ট থেকে ডেটা কীভাবে বের করবেন?


JDBC-তে ResultSet ইন্টারফেস SQL কোয়েরি থেকে জেনারেট হওয়া টেবুলার ডেটা প্রতিনিধিত্ব করে। এর একটি কার্সর থাকে যা বর্তমান সারিকে নির্দেশ করে। ابتدا এই কার্সর প্রথম সারির আগে অবস্থান করে।

JDBC-তে ResultSet কী? ResultSet অবজেক্ট থেকে ডেটা কীভাবে বের করবেন?

রেজাল্ট সেটে পয়েন্টার সরানো

ResultSet ইন্টারফেসের next() মেথড বর্তমান (ResultSet) অবজেক্টের পয়েন্টারকে বর্তমান অবস্থান থেকে পরবর্তী সারিতে সরায়। এই মেথড একটি বুলিয়ান মান রিটার্ন করে—যদি বর্তমান অবস্থানের পরে আর কোনো সারি না থাকে তবে false রিটার্ন করে, অন্যথায় true। তাই while লুপে এই মেথড ব্যবহার করে রেজাল্ট সেটের কনটেন্ট ইটারেট করা যায়।

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

  1. Windows 10-এ Windows XP Mode VM থেকে ডেটা রিট্রিভ করার পদ্ধতি

  2. আইফোন থেকে LG-এ ট্রান্সফার: আইফোন থেকে LG-এ ডেটা ট্রান্সফার করার পদ্ধতি

  3. OnePlus থেকে OnePlus-এ ডেটা ট্রান্সফার করার উপায়

  4. হুয়াওয়েই থেকে হুয়াওয়েই-এ ডেটা ট্রান্সফার কীভাবে করবেন