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

JDBC-এ execute(), executeQuery(), executeUpdate() মেথডের পার্থক্য

JDBC-এ Statement ইন্টারফেসের তিনটি এক্সিকিউশন মেথড রয়েছে, যারা আলাদা আলাদা উদ্দেশ্যে ব্যবহৃত হয়।

1. execute() মেথড

উদ্দেশ্য: যেকোনো SQL স্টেটমেন্ট এক্সিকিউট করতে (DDL, DML, DQL)।

রিটার্ন: boolean - true হলে রেজাল্টসেট (ResultSet) রিটার্ন হয়েছে (যেমন SELECT), false হলে আপডেট কাউন্ট বা কোনো রেজাল্ট নেই (যেমন CREATE, INSERT, UPDATE, DELETE)।

উদাহরণ (CREATE TABLE)

Statement stmt = con.createStatement();
String createTable = "CREATE TABLE Employee(Name VARCHAR(255), Salary INT NOT NULL, Location VARCHAR(255))";
boolean bool = stmt.execute(createTable);
System.out.println(bool); // false
Connection established......
false

2. executeUpdate() মেথড

উদ্দেশ্য: ডেটা মডিফিকেশন স্টেটমেন্ট (INSERT, UPDATE, DELETE, DDL)।

রিটার্ন: int - প্রভাবিত রোয়ের সংখ্যা। DDL-এর জন্য ০।

উদাহরণ (INSERT)

String insertData = "INSERT INTO Employee(Name, Salary, Location) VALUES
    ('Amit', 30000, 'Hyderabad'),
    ('Kalyan', 40000, 'Vishakhapatnam'),
    ('Renuka', 50000, 'Delhi'),
    ('Archana', 15000, 'Mumbai')";
int i = stmt.executeUpdate(insertData);
System.out.println("Rows inserted: " + i); // 4
Connection established......
Rows inserted: 4

3. executeQuery() মেথড

উদ্দেশ্য: ডেটা রিট্রিভ কোয়েরি (SELECT) এক্সিকিউট করতে।

রিটার্ন: ResultSet অবজেক্ট (কখনো null নয়, খালি হলে next() false রিটার্ন করে)।

উদাহরণ (SELECT)

ResultSet rs = stmt.executeQuery("SELECT * FROM Employee");
while(rs.next()) {
    System.out.print("Name: " + rs.getString("Name") + ", ");
    System.out.print("Salary: " + rs.getInt("Salary") + ", ");
    System.out.println("City: " + rs.getString("Location"));
}
Connection established......
Name: Amit, Salary: 30000, City: Hyderabad
Name: Kalyan, Salary: 40000, City: Vishakhapatnam
Name: Renuka, Salary: 50000, City: Delhi
Name: Archana, Salary: 15000, City: Mumbai

সারসংক্ষেপ টেবিল

মেথডব্যবহাররিটার্ন টাইপউদাহরণ
execute()যেকোনো SQLbooleanDDL, অজানা টাইপ
executeUpdate()INSERT, UPDATE, DELETE, DDLint (row count)ডেটা মডিফিকেশন
executeQuery()SELECTResultSetডেটা পড়া

সেরা প্র্যাকটিস: স্পষ্টত아 জানা থাকলে নির্দিষ্ট মেথড ব্যবহার করুন। execute() শুধু তখন ব্যবহার করুন যখন স্টেটমেন্ট টাইপ রানটাইমে ডাইনামিকভাবে নির্ধারিত হয়।

  1. জাভাস্ক্রিপ্টে ফাংশন ও মেথডের পার্থক্য

  2. C#-এ String.Copy() এবং String.CopyTo() মেথডের পার্থক্য

  3. C#-এ String.Copy() এবং String.Clone() মেথডের পার্থক্য

  4. Tkinter-এ focus এবং focus_set মেথডের পার্থক্য