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

JSP-এ প্যারাামিটারাইজড SQL কোয়েরি কীভাবে ব্যবহার করবেন?


<sql:param> ট্যাগটি <sql:query> ট্যাগ এবং <sql:update> ট্যাগের নেস্টেড অ্যাকশন হিসেবে ব্যবহৃত হয় একটি ভ্যালু প্লেসহোল্ডারের জন্য মান সরবরাহ করতে। যদি null ভ্যালু দেওয়া হয়, তবে প্লেসহোল্ডারের জন্য মান SQL NULL সেট হয়।

অ্যাট্রিবিউট

<sql:param> ট্যাগটির নিম্নলিখিত অ্যাট্রিবিউটগুলো রয়েছে:

অ্যাট্রিবিউট বিবরণ আবশ্যক ডিফল্ট
value সেট করার প্যারামিটারের মান নয় বডি

উদাহরণ

বেসিক কনসেপ্টের জন্য, TEST ডেটাবেসে একটি Employees টেবিল তৈরি করে কিছু রেকর্ড डालি:

স্টেপ ১

একটি Command Prompt খুলুন এবং ইনস্টলেশন ডিরেক্টরিতে যান:

C:\> C:\>cd Program Files\MySQL\bin C:\Program Files\MySQL\bin>

স্টেপ ২

ডেটাবেসে লগইন করুন:

C:\Program Files\MySQL\bin>mysql -u root -p Enter password: ******** mysql>

স্টেপ ৩

TEST ডেটাবেসে Employee টেবিল তৈরি করুন:

mysql> use TEST; mysql> create table Employees ( id int not null, age int not null, first varchar (255), last varchar (255) ); Query OK, 0 rows affected (0.08 sec) mysql>

ডেটা রেকর্ড তৈরি

Employee টেবিলে কিছু রেকর্ড তৈরি করুন:

mysql> INSERT INTO Employees VALUES (100, 18, 'Zara', 'Ali'); Query OK, 1 row affected (0.05 sec) mysql> INSERT INTO Employees VALUES (101, 25, 'Mahnaz', 'Fatma'); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO Employees VALUES (102, 30, 'Zaid', 'Khan'); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO Employees VALUES (103, 28, 'Sumit', 'Mittal'); Query OK, 1 row affected (0.00 sec) mysql>

এখন একটি JSP লিখি যা <sql:update> ট্যাগ ব্যবহার করে একটি SQL DELETE স্টেটমেন্ট এক্সিকিউট করবে যাতে টেবিল থেকে id = 103 वाले একটি রেকর্ড ডিলিট হয়:

<%@ page import = "java.io.*,java.util.*,java.sql.*"%> 
<%@ page import = "javax.servlet.http.*,javax.servlet.*" %> 
<%@ taglib uri = "https://java.sun.com/jsp/jstl/core" prefix = "c"%> 
<%@ taglib uri = "https://java.sun.com/jsp/jstl/sql" prefix = "sql"%> 
<html> 
     <head> 
          <title>JSTL sql:param Tag</title> 
     </head> 
     <body> 
        <sql:setDataSource var = "snapshot" driver = "com.mysql.jdbc.Driver" 
           url = "jdbc:mysql://localhost/TEST" 
           user = "root" password = "pass123"/> 
           <c:set var = "empId" value = "103"/> 
        <sql:update dataSource = "${snapshot}" var = "count"> 
           DELETE FROM Employees WHERE Id = ? 
           <sql:param value = "${empId}" /> 
        </sql:update> 
        <sql:query dataSource = "${snapshot}" var = "result"> 
           SELECT * from Employees; 
        </sql:query> 
        <table border = "1" width = "100%"> 
           <tr> 
              <th>Emp ID</th> 
              <th>First Name</th> 
              <th>Last Name</th> 
              <th>Age</th> 
           </tr> 
           <c:forEach var = "row" items = "${result.rows}"> 
              <tr> 
                 <td> <c:out value = "${row.id}"/></td> 
                 <td> <c:out value = "${row.first}"/></td> 
                 <td> <c:out value = "${row.last}"/></td> 
                 <td> <c:out value = "${row.age}"/></td> 
              </tr> 
           </c:forEach> 
        </table> 
     </body> 
</html>

উপরোক্ত JSP অ্যাক্সেস করলে নিম্নলিখিত ফলাফল দেখাবে:

+-------------+----------------+-----------------+-----------------+ | Emp ID      | First Name     | Last Name       | Age             | +-------------+----------------+-----------------+-----------------+ | 100         | Zara           | Ali             | 18              | | 101         | Mahnaz       | Fatma | 25 | | 102 | Zaid | Khan | 30 | +-------------+----------------+-----------------+-----------------+

আপনি <sql:param> ট্যাগটি SQL UPDATE এবং SELECT স্টেটমেন্টের জন্যও একইভাবে ব্যবহার করতে পারেন যেমন আমরা DELETE স্টেটমেন্টের জন্য ব্যবহার করেছি।


  1. অ্যান্ড্রয়েড SQLite-এ SELECT কোয়েরি ব্যবহার করা

  2. JSP-এ UPDATE SQL কীভাবে এক্সিকিউট করবেন?

  3. JSP-এ SQL আপডেট কোয়েরি কীভাবে এক্সিকিউট করবেন?

  4. C#-এ LINQ (Language Integrated Query) কী এবং ব্যবহার