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

JSP में SQL क्वेरी में डेट वेरिएबल कैसे पास करें?


<sql:dateParam> टैग का उपयोग <sql:query> और <sql:update> टैग के लिए नेस्टेड एक्शन के रूप में किया जाता है ताकि वैल्यू प्लेसहोल्डर के लिए दिनांक और समय मान प्रदान किया जा सके। यदि null मान प्रदान किया जाता है, तो मान को प्लेसहोल्डर के लिए SQL NULL पर सेट किया जाता है।

विशेषताएं

<sql:dateParam> टैग में निम्नलिखित विशेषताएं होती हैं:

विशेषता विवरण आवश्यक डिफ़ॉल्ट
value सेट करने के लिए दिनांक पैरामीटर का मान (java.util.Date) नहीं बॉडी
type DATE (केवल दिनांक), TIME (केवल समय), या TIMESTAMP (दिनांक और समय) नहीं TIMESTAMP

उदाहरण

आरंभिक अवधारणा के साथ शुरू करने के लिए, आइए TEST डेटाबेस में एक साधारण Students टेबल बनाएं और उसमें कुछ रिकॉर्ड बनाएं:

चरण 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

TEST डेटाबेस में Employee टेबल बनाएं:

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>

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

अब हम Employee टेबल में कुछ रिकॉर्ड बनाएंगे:

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 लिखें जो Zara के लिए जन्मतिथि अपडेट करने के लिए <sql:update> टैग का उपयोग <sql:param> टैग और <sql:dateParam> टैग के साथ मिलकर एक SQL UPDATE स्टेटमेंट निष्पादित करने के लिए करता है:

<%@ 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:dataParam टैग</title> 
</head> 
<body> 
<sql:setDataSource var = "snapshot" driver = "com.mysql.jdbc.Driver" 
url = "jdbc:mysql://localhost/TEST" user = "root" password = "pass123"/> 
<% 
Date DoB = new Date("2001/12/16"); 
int studentId = 100; 
%> 
<sql:update dataSource = "${snapshot}" var = "count"> 
UPDATE Students SET dob = ? WHERE Id = ? 
<sql:dateParam value = "<%=DoB%>" type = "DATE" /> 
<sql:param value = "<%=studentId%>" /> 
</sql:update> 
<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>

उपरोक्त JSP को एक्सेस करें, निम्नलिखित परिणाम प्रदर्शित होगा। ID = 100 वाले रिकॉर्ड के लिए dob 2002/05/16 से 2001/12/16 में बदल गया:

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

  1. - JSP में SQL अपडेट क्वेरी कैसे निष्पादित करें?

    <sql:update> टैग एक SQL स्टेटमेंट निष्पादित करता है जो डेटा वापस नहीं करता; उदाहरण के लिए, SQL INSERT, UPDATE, या DELETE स्टेटमेंट्स। विशेषताएं <sql:update> टैग में निम्नलिखित विशेषताएं होती हैं: विशेषता विवरण आवश्यक डिफ़ॉल्ट sql निष्पादित करने के लिए SQL कमांड (ResultSet वापस

  1. - जावा में java.sql.Date ऑब्जेक्ट कैसे बनाएं?

    कंस्ट्रक्टर का उपयोग java.sql.Date JDBC में डेट मान को दर्शाता है। इस क्लास का कंस्ट्रक्टर वांछित डेट को दर्शाने वाला लॉन्ग मान स्वीकार करता है और संबंधित Date ऑब्जेक्ट बनाता है। Date(long date) आप इस कंस्ट्रक्टर का उपयोग करके यह ऑब्जेक्ट बना सकते हैं। उदाहरण import java.text.ParseException; impor

  1. - पायथन में एक्सेप्शन को वेरिएबल कैसे पास करें?

    यहां हम दिए गए एक्सेप्शन को एक वेरिएबल पास कर रहे हैं। हम एक कस्टम एक्सेप्शन ExampleException परिभाषित कर रहे हैं जो बेस क्लास Exception का सबक्लास है और __init__ मेथड भी परिभाषित कर रहे हैं। हम एक्सेप्शन उठाने और एक्सेप्शन को वेरिएबल पास करने के लिए try-except ब्लॉक का उपयोग करते हैं जैसा कि नीचे द