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

JDBC-তে Statement কী?


Statement ইন্টারফেস স্ট্যাটিক SQL স্টেটমেন্টকে প্রতিনিধিত্ব করে, এটি জাভা প্রোগ্রাম ব্যবহার করে সাধারণ উদ্দেশ্যের SQL স্টেটমেন্ট তৈরি ও এক্সিকিউট করতে ব্যবহৃত হয়।

Statement তৈরি করা

Connection ইন্টারফেসের createStatement() মেথড ব্যবহার করে এই ইন্টারফেসের একটি অবজেক্ট তৈরি করা যায়। নিচের উদাহরণটি দেখুন:

Statement stmt = null; 
try { 
    stmt = conn.createStatement(); 
    . . . 
} catch (SQLException e) { 
    . . . 
} finally { 
    . . . 
}

Statement অবজেক্ট এক্সিকিউট করা

Statement অবজেক্ট তৈরি হলে, এটি তিনটি এক্সিকিউট মেথডের যেকোনো একটি ব্যবহার করে চালানো যায়: execute(), executeUpdate() এবং executeQuery()।

  • execute(): এই মেথডটি SQL DDL স্টেটমেন্ট এক্সিকিউট করতে ব্যবহৃত হয়। এটি একটি বুলিয়ান মান রিটার্ন করে যা নির্দেশ করে ResultSet অবজেক্ট পাওয়া যাবে কিনা।

  • executeUpdate(): এই মেথডটি INSERT, UPDATE, DELETE এর মতো স্টেটমেন্ট এক্সিকিউট করতে ব্যবহৃত হয়। এটি প্রভাবিত সারির সংখ্যা নির্দেশকারী একটি ইন্টিজার মান রিটার্ন করে।

  • executeQuery(): এই মেথডটি টেবুলার ডেটা রিটার্নকারী স্টেটমেন্ট (যেমন SELECT স্টেটমেন্ট) এক্সিকিউট করতে ব্যবহৃত হয়। এটি ResultSet ক্লাসের একটি অবজেক্ট রিটার্ন করে।

উদাহরণ

নিচের JDBC অ্যাপ্লিকেশনটি দেখায় কিভাবে একটি Statement তৈরি ও এক্সিকিউট করতে হয়।

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.sql.Statement; 

public class StatementExample { 
    public static void main(String args[]) throws SQLException { 
        // ড্রাইভার রেজিস্টার করা 
        DriverManager.registerDriver(new com.mysql.jdbc.Driver()); 
        // কানেকশন'établিশ করা 
        String mysqlUrl = "jdbc:mysql://localhost/testdb"; 
        Connection con = DriverManager.getConnection(mysqlUrl, "root", "password"); 
        System.out.println("Connection established......"); 
        // Statement তৈরি করা 
        Statement stmt = con.createStatement(); 
        // Statement এক্সিকিউট করা 
        String createTable = "CREATE TABLE Employee(" 
            + "Name VARCHAR(255), " 
            + "Salary INT NOT NULL, " 
            + "Location VARCHAR(255))"; 
        boolean bool = stmt.execute(createTable); 
        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); 
        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.print("City: " + rs.getString("Location")); 
            System.out.println(); 
        } 
    } 
}

আউটপুট

Connection established...... 
Rows inserted: 4 
Name: Amit, Salary: 30000, City: Hyderabad 
Name: Kalyan, Salary: 40000, City: Vishakhapatnam 
Name: Renuka, Salary: 50000, City: Delhi 
Name: Archana, Salary: 15000, City: Mumbai

  1. MySQL JDBC ড্রাইভার কানেকশন স্ট্রিং কী?

  2. MySQL-এ SET কলামে +0 অপারেটর: সেট মানকে ইন্টিজারে রূপান্তর

  3. C#-এ 'using' স্টেটমেন্টের ব্যবহার কী?

  4. C#-এ finally স্টেটমেন্ট কী?