Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> प्रोग्रामिंग

जेएसपी में लेनदेन का उपयोग करके प्रश्नों को समूहबद्ध कैसे करें?

टैग का उपयोग . को समूहीकृत करने के लिए किया जाता है और लेनदेन में टैग। आप ज्यादा से ज्यादा . डाल सकते हैं और . के अंदर कथन के रूप में टैग करें एकल लेन-देन बनाने के लिए टैग।

यह सुनिश्चित करता है कि नेस्टेड क्रियाओं द्वारा किए गए डेटाबेस संशोधन या तो प्रतिबद्ध हैं या किसी नेस्टेड कार्रवाई द्वारा अपवाद फेंके जाने पर वापस ले लिया गया है।

विशेषता

टैग में निम्नलिखित विशेषताएं हैं -

<वें शैली ="पाठ-संरेखण:केंद्र;">विवरण <वें शैली="पाठ्य-संरेखण:केंद्र;">डिफ़ॉल्ट
विशेषता आवश्यक
डेटा स्रोत उपयोग करने के लिए डेटाबेस कनेक्शन (डिफ़ॉल्ट को ओवरराइड करता है) नहीं डिफ़ॉल्ट डेटाबेस
अलगाव लेन-देन अलगाव (READ_COMMITTED, READ_UNCOMMITTED, REPEATABLE_READ, या SERIALIZABLE) नहीं डेटाबेस का डिफ़ॉल्ट

उदाहरण

मूल अवधारणा के साथ शुरू करने के लिए, आइए हम एक विद्यार्थी . बनाएं TEST डेटाबेस में तालिका बनाएं और उस तालिका में कुछ रिकॉर्ड निम्नानुसार बनाएं -

चरण 1

एक कमांड प्रॉम्प्ट खोलें और संस्थापन निर्देशिका में इस प्रकार बदलें -

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

चरण 2

डेटाबेस में इस प्रकार लॉगिन करें -

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

चरण 3

कर्मचारी बनाएं परीक्षा . में तालिका डेटाबेस इस प्रकार है -

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

डेटा रिकॉर्ड बनाएं

अब हम कर्मचारी . में कुछ रिकॉर्ड बनाएंगे तालिका इस प्रकार है -

mysql> INSERT INTO Students
VALUES (100, 'Zara', 'Ali', '2002/05/16');
Query OK, 1 row affected (0.05 sec)

mysql> INSERT INTO Students
VALUES (101, 'Mahnaz', 'Fatma', '1978/11/28');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO Students
VALUES (102, 'Zaid', 'Khan', '1980/10/10');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO Students
VALUES (103, 'Sumit', 'Mittal', '1971/05/08');
Query OK, 1 row affected (0.00 sec)

mysql>

आइए अब एक JSP लिखें जो . का उपयोग करेगा साथ में टैग करें SQL अद्यतन निष्पादित करने के लिए टैग बयान। यहां . के अंदर कोड है टैग या तो पूरी तरह से निष्पादित होगा या बिल्कुल नहीं -

<%@ page import = "java.io.*,java.util.*,java.sql.*"%>
<%@ page import = "javax.servlet.http.*,javax.servlet.*"%>
<%@ page import = "java.util.Date,java.text.*" %>
<%@ 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:transaction Tag</title>
   </head>
   <body>
      <sql:setDataSource var = "snapshot" driver = "com.mysql.jdbc.Driver"
         url = "jdbc:mysql://localhost/TEST" user = "root" password = "cohondob"/>
      <%
         Date DoB = new Date("2001/12/16");
         int studentId = 100;
      %>
      <sql:transaction dataSource = "${snapshot}">
         <sql:update var = "count">
            UPDATE Students SET last = 'Ali' WHERE Id = 102
         </sql:update>
         <sql:update var = "count">
            UPDATE Students SET last = 'Shah' WHERE Id = 103
         </sql:update>
         <sql:update var = "count">
            INSERT INTO Students
            VALUES (104,'Nuha', 'Ali', '2010/05/26');
         </sql:update>
      </sql:transaction>
      <sql:query dataSource = "${snapshot}" var = "result">
         SELECT * from Students;
      </sql:query>
      <table border = "1" width = "100%">
         <tr>
            <th>Emp ID</th>
            <th>First Name</th>
            <th>Last Name</th>
            <th>DoB</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.dob}"/></td>
            </tr>
         </c:forEach>
      </table>
   </body>
</html>

उपरोक्त जेएसपी तक पहुंचें, निम्नलिखित परिणाम प्रदर्शित होंगे -

+-------------+----------------+-----------------+-----------------+
| Emp ID      | First Name     | Last Name       | DoB             |
+-------------+----------------+-----------------+-----------------+
| 100         | Zara           | Ali             | 2001-12-16      |
| 101         | Mahnaz         | Fatma           | 1978-11-28      |
| 102         | Zaid           | Ali             | 1980-10-10      |
| 103         | Sumit          | Mittal          | 1971-05-08      |
| 104         | Nuha           | Ali             | 2010-05-26      |
+-------------+----------------+-----------------+-----------------+

  1. जेएसपी में अद्यतन एसक्यूएल कैसे निष्पादित करें?

    टैग एक SQL कथन निष्पादित करता है जो डेटा वापस नहीं करता है; उदाहरण के लिए, SQL INSERT, UPDATE , या हटाएं बयान। विशेषता टैग में निम्नलिखित विशेषताएं हैं - विशेषता विवरण आवश्यक डिफ़ॉल्ट एसक्यूएल एसक्यूएल कमांड निष्पादित करने के लिए (परिणामसेट वापस नहीं करना चाहिए) नहीं शरीर डेटा स्रोत उपयोग करने

  1. जेएसपी में एसक्यूएल अपडेट क्वेरी कैसे निष्पादित करें?

    टैग एक SQL कथन निष्पादित करता है जो डेटा वापस नहीं करता है; उदाहरण के लिए, SQL INSERT, UPDATE , या हटाएं बयान। विशेषता टैग में निम्नलिखित विशेषताएं हैं - विशेषता विवरण आवश्यक डिफ़ॉल्ट एसक्यूएल एसक्यूएल कमांड निष्पादित करने के लिए (परिणामसेट वापस नहीं करना चाहिए) नहीं शरीर डेटा स्रोत उपयोग करने

  1. पायथन का उपयोग करके एसक्यूएल टेबल कॉलम कैसे गिनें?

    SQL तालिका में मौजूद स्तंभों की संख्या की गणना करना आवश्यक हो सकता है। यह info_schema.columns और WHERE क्लॉज के साथ गिनती (*) फ़ंक्शन का उपयोग करके किया जाता है। WHERE क्लॉज का उपयोग उस टेबल के नाम को निर्दिष्ट करने के लिए किया जाता है जिसके कॉलमों की गणना की जानी है। सिंटैक्स जानकारी_स्कीमा.स्तंभो