Variables এর মান নির্ণয় করা

Variables এবং Expressions মনিটরিং - জেডিবি (JDB) - Java Technologies

292

JDBC (Java Database Connectivity) একটি Java API যা Java অ্যাপ্লিকেশনকে ডেটাবেসের সাথে সংযোগ স্থাপন এবং ডেটাবেস থেকে ডেটা পরিচালনা করতে সহায়তা করে। JDBC তে, যখন ডেটাবেসে SQL কুইরি চালানো হয়, তখন বিভিন্ন ধরণের variables (যেমন, SQL প্যারামিটার বা কনস্ট্যান্ট) ব্যবহার করা হয়। Variables এর মান নির্ণয় করতে, JDBC তে বিভিন্ন পদ্ধতি রয়েছে, যা ডেটাবেস থেকে ডেটা নিতে, প্যারামিটার বाइন্ড করতে এবং SQL কুইরি ফলাফল সংগ্রহ করতে ব্যবহৃত হয়।

এখানে আমরা দেখব কিভাবে JDBC তে variables এর মান নির্ণয় করা যায়, বিশেষ করে SQL কুইরি বা ডেটাবেস অপারেশনে প্যারামিটার ব্যবহারের মাধ্যমে।


1. PreparedStatement এবং Variables এর মান নির্ণয় করা

JDBC তে PreparedStatement ব্যবহার করার সময়, SQL কুইরি চলানোর আগে আপনাকে কিছু variables (যেমন, প্যারামিটার) সেট করতে হয়। এগুলি SQL কুইরি চলানোর সময় পরিবর্তনশীল মান হিসাবে কাজ করে।

PreparedStatement ব্যবহার করে Variables এর মান নির্ণয়:

উদাহরণ: PreparedStatement এর মাধ্যমে প্যারামিটার বাউন্ড করা

import java.sql.*;

public class PreparedStatementExample {
    public static void main(String[] args) {
        Connection connection = null;
        PreparedStatement statement = null;
        ResultSet resultSet = null;

        try {
            // ডেটাবেসের সাথে সংযোগ স্থাপন
            connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/your_database", "username", "password");

            // SQL কুইরি
            String query = "SELECT * FROM users WHERE id = ? AND age = ?";
            statement = connection.prepareStatement(query);

            // প্যারামিটার বাউন্ড করা (পূর্বে ডিফাইন করা মান)
            statement.setInt(1, 1);   // প্রথম প্যারামিটার: id = 1
            statement.setInt(2, 30);  // দ্বিতীয় প্যারামিটার: age = 30

            // কোয়েরি এক্সিকিউট করা
            resultSet = statement.executeQuery();

            // রেজাল্ট প্রিন্ট করা
            while (resultSet.next()) {
                System.out.println("User ID: " + resultSet.getInt("id"));
                System.out.println("User Name: " + resultSet.getString("name"));
                System.out.println("User Age: " + resultSet.getInt("age"));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            try {
                if (resultSet != null) resultSet.close();
                if (statement != null) statement.close();
                if (connection != null) connection.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

কোড ব্যাখ্যা:

  1. setInt(): এখানে, setInt() মেথড ব্যবহার করে SQL কুইরিতে দুইটি প্যারামিটার বাউন্ড করা হয়েছে। প্রথম প্যারামিটার id এবং দ্বিতীয় প্যারামিটার age এর মান 1 এবং 30 যথাক্রমে দেওয়া হয়েছে।
  2. PreparedStatement: PreparedStatement মেথড ব্যবহার করা হয়েছে যেটি SQL কুইরি প্রস্তুত করে এবং প্যারামিটারগুলোর মান সুনির্দিষ্টভাবে বাউন্ড করে।
  3. SQL Query Execution: executeQuery() মেথড ব্যবহার করে SQL কুইরি চালানো হয়েছে এবং রেজাল্ট সেট প্রক্রিয়া করা হয়েছে।

2. CallableStatement এবং Variables এর মান নির্ণয় করা

CallableStatement ব্যবহার করে স্টোরড প্রসিডিউর বা ফাংশন কল করার সময়ও আপনি প্যারামিটার ব্যবহার করতে পারেন। এখানে, আমরা CallableStatement তে in, out, এবং inout প্যারামিটার বাউন্ড করতে পারি।

CallableStatement ব্যবহার করে Variables এর মান নির্ণয়:

উদাহরণ: CallableStatement এর মাধ্যমে প্যারামিটার বাউন্ড করা

import java.sql.*;

public class CallableStatementExample {
    public static void main(String[] args) {
        Connection connection = null;
        CallableStatement callableStatement = null;

        try {
            // ডেটাবেসের সাথে সংযোগ স্থাপন
            connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/your_database", "username", "password");

            // স্টোরড প্রসিডিউর কল করা
            String query = "{CALL getUserDetails(?, ?)}";
            callableStatement = connection.prepareCall(query);

            // ইনপুট প্যারামিটার সেট করা
            callableStatement.setInt(1, 1);  // id = 1

            // আউটপুট প্যারামিটার সেট করা
            callableStatement.registerOutParameter(2, Types.VARCHAR); // name প্যারামিটার

            // স্টোরড প্রসিডিউর এক্সিকিউট করা
            callableStatement.execute();

            // আউটপুট প্যারামিটার থেকে মান রিট্রাইভ করা
            String userName = callableStatement.getString(2);
            System.out.println("User Name: " + userName);

        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            try {
                if (callableStatement != null) callableStatement.close();
                if (connection != null) connection.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

কোড ব্যাখ্যা:

  1. registerOutParameter(): আউটপুট প্যারামিটার রেজিস্টার করা হয়েছে। এখানে name ফিল্ডটি আউটপুট প্যারামিটার হিসেবে নিবন্ধিত করা হয়েছে।
  2. setInt(): ইনপুট প্যারামিটার হিসাবে id সেট করা হয়েছে।
  3. getString(): আউটপুট প্যারামিটার name থেকে মান রিট্রাইভ করা হয়েছে।

3. Variables এর মান নির্ণয় করার বিভিন্ন পদ্ধতি

JDBC তে Variables এর মান নির্ধারণের জন্য বিভিন্ন ধরনের পদ্ধতি ব্যবহার করা যেতে পারে, যেমন:

3.1. setString()

  • স্ট্রিং টাইপ প্যারামিটার বাউন্ড করার জন্য ব্যবহৃত হয়।
statement.setString(1, "John Doe");

3.2. setInt()

  • ইন্টিজার টাইপ প্যারামিটার বাউন্ড করার জন্য ব্যবহৃত হয়।
statement.setInt(2, 25);

3.3. setDouble()

  • দশমিক মান বা ফ্লোট প্যারামিটার বাউন্ড করার জন্য ব্যবহৃত হয়।
statement.setDouble(3, 199.99);

3.4. setDate()

  • ডেট টাইপ প্যারামিটার বাউন্ড করার জন্য ব্যবহৃত হয়।
statement.setDate(4, Date.valueOf("2024-12-25"));

3.5. setBoolean()

  • বুলিয়ান টাইপ প্যারামিটার বাউন্ড করার জন্য ব্যবহৃত হয়।
statement.setBoolean(5, true);

সারাংশ

JDBC তে Variables এর মান নির্ধারণ করা গুরুত্বপূর্ণ, বিশেষ করে যখন SQL কুইরি বা স্টোরড প্রসিডিউর ব্যবহার করা হয়। PreparedStatement এবং CallableStatement এর মাধ্যমে আপনি প্যারামিটার ব্যবহার করতে পারেন এবং SQL কুইরি এক্সিকিউট করার সময় ডেটাবেসের মান নির্ধারণ করতে পারেন। প্যারামিটারাইজড কুইরি ব্যবহারের ফলে SQL Injection রোধ করা সম্ভব হয় এবং কোডটি আরও নিরাপদ এবং কার্যকরী হয়। JDBC তে বিভিন্ন ধরনের প্যারামিটার বাউন্ড করার জন্য সঠিক set মেথড ব্যবহার করা উচিত, যেমন setInt(), setString(), setDate() ইত্যাদি।

Content added By
Promotion

Are you sure to start over?

Loading...