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

JDBC প্রোগ্রাম ব্যবহার করে ResultSet-এর কনটেন্ট আপডেট কীভাবে করবেন?


ResultSet-এর কনটেন্ট আপডেট করতে Statement তৈরি করতে হয় ResultSet টাইপ updatable পাস করে:

// Creating a Statement object 
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);

getXXX() ও setXXX() মেথডের মতো ResultSet ইন্টারফেস রো আপডেট করার জন্য updateXXX() মেথড দিয়ে থাকে। এই মেথডগুলো কলাম ইনডেক্স (ইন্টিজার) বা কলাম লেবেল (স্ট্রিং) গ্রহণ করে।

নোট: ResultSet আপডেট করতে হলে টেবিলে প্রাইমারি কী থাকতে হবে।

উদাহরণ

ধরি Employees নামক একটি টেবিল আছে ৫টি রেকর্ডসহ:

+----+---------+--------+----------------+ 
| Id | Name    | Salary | Location       | 
+----+---------+--------+----------------+ 
| 1  | Amit    | 3000   | Hyderabad      | 
| 2  | Kalyan  | 4000   | Vishakhapatnam | 
| 3  | Renuka  | 6000   | Delhi          | 
| 4  | Archana | 9000   | Mumbai         | 
| 5  | Sumith  | 11000  | Hyderabad      | 
+----+---------+--------+----------------+

নিচের উদাহরণ ResultSet-এর কনটেন্ট আপডেট করা দেখাচ্ছে।

import java.sql.*; 
public class ResultSetExample { 
    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 অবজেক্ট (scrollable & updatable) 
        Statement stmt = con.createStatement( 
            ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); 
        // ডেটা বের করা 
        ResultSet rs = stmt.executeQuery("select * from Employees"); 
        // টেবিলের কনটেন্ট প্রিন্ট 
        System.out.println("Contents of the table: "); 
        printRs(rs); 
        // পয়েন্টার শুরുവাতে নিয়ে যাওয়া 
        rs.beforeFirst(); 
        // প্রতিটি কর্মীর বেতন ৫০০০ বাড়ানো 
        while (rs.next()) { 
            int newSal = rs.getInt("Salary") + 5000; 
            rs.updateInt("Salary", newSal); 
            rs.updateRow(); 
        } 
        System.out.println("Contents of the ResultSet after increasing salaries"); 
        printRs(rs); 
        // দ্বিতীয় রেকর্ডে পজিশন সেট 
        rs.beforeFirst(); 
        rs.absolute(2); 
        System.out.println("Record we need to delete: "); 
        System.out.print("ID: " + rs.getInt("id")); 
        System.out.print(", Salary: " + rs.getInt("Salary")); 
        System.out.print(", Name: " + rs.getString("Name")); 
        System.out.println(", Location: " + rs.getString("Location")); 
        System.out.println(" "); 
        // রো ডিলিট 
        rs.deleteRow(); 
        System.out.println("Contents of the ResultSet after deleting one records..."); 
        printRs(rs); 
        System.out.println("Goodbye!"); 
    } 
    public static void printRs(ResultSet rs) throws SQLException { 
        rs.beforeFirst(); 
        while (rs.next()) { 
            System.out.print("ID: " + rs.getInt("id")); 
            System.out.print(", Salary: " + rs.getInt("Salary")); 
            System.out.print(", Name: " + rs.getString("Name")); 
            System.out.println(", Location: " + rs.getString("Location")); 
        } 
        System.out.println(); 
    } 
}

আউটপুট

Connection established...... 
Contents of the table: 
ID: 1, Salary: 3000, Name: Amit, Location: Hyderabad 
ID: 2, Salary: 4000, Name: Kalyan, Location: Vishakhapatnam 
ID: 3, Salary: 6000, Name: Renuka, Location: Delhi 
ID: 4, Salary: 9000, Name: Archana, Location: Mumbai 
ID: 5, Salary: 11000, Name: Sumith, Location: Hyderabad 
Conetnets of the resultset after increaing salaries 
ID: 1, Salary: 8000, Name: Amit, Location: Hyderabad 
ID: 2, Salary: 9000, Name: Kalyan, Location: Vishakhapatnam 
ID: 3, Salary: 11000, Name: Renuka, Location: Delhi 
ID: 4, Salary: 14000, Name: Archana, Location: Mumbai 
ID: 5, Salary: 16000, Name: Sumith, Location: Hyderabad 
Record we need to delete: 
ID: 2, Salary: 9000, Name: Kalyan, Location: Vishakhapatnam 
Contents of the resultset after deleting one records... 
ID: 1, Salary: 8000, Name: Amit, Location: Hyderabad 
ID: 3, Salary: 11000, Name: Renuka, Location: Delhi 
ID: 4, Salary: 14000, Name: Archana, Location: Mumbai 
ID: 5, Salary: 16000, Name: Sumith, Location: Hyderabad 
Goodbye!

  1. জাভাস্ক্রিপ্ট দিয়ে ইউজার সিলেকশনের টেক্সট কন্টেন্ট রিট্রিভ করা

  2. জাভাতে JSON ফাইলের কন্টেন্ট কীভাবে পড়বেন?

  3. Python প্রোগ্রামে Keras ব্যবহার করে মডেল ট্রেনিং কীভাবে করা যায়?

  4. সেলুলার ডেটা দিয়ে আইফোনের ওয়েদার অ্যাপ আপডেট করুন: ধাপে ধাপে গাইড