YouTip LogoYouTip

Jstl Sql Dateparam Tag

<sql:dateParam> Tag

The <sql:dateParam> tag is used in conjunction with the <sql:query> and <sql:update> tags to provide date and time placeholders. If the value is null, the placeholder is set to SQL NULL.

Syntax

<sql:dateParam value="<string>" type="<string>"/>

Attributes

The <sql:dateParam> tag has the following attributes:

Attribute Description Required Default
value The date parameter to set (java.util.Date) No Body
type DATE (date only), TIME (time only), TIMESTAMP (date and time) No TIMESTAMP

Example

First, we need to create an Employees table in the TEST database and add some records. The specific steps are as follows:

Step 1:

Open CMD and change the directory to the installation directory:

C:>
C:>cd Program FilesMySQLbin
C:Program FilesMySQLbin>

Step 2:

Log in to the database:

C:Program FilesMySQLbin>mysql -u root -p
Enter password: ********
mysql>

Step 3:

Create the Employees table in the TEST database:

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>

Create Data Records:

Finally, create a few records in the Students table:

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>

Now, write a JSP file that uses the <sql:update>, <sql:param>, and <sql:dateParam> tags to execute an SQL UPDATE statement, updating Zara's date of birth:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*,java.sql.*"%>
<%@ page import="javax.servlet.http.*,javax.servlet.*" %>
<%@ page import="java.util.Date,java.text.*" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>
 
<html>
<head>
<title>JSTL sql:dataParam Tag</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>

The result is as follows:

JSTL sql:dateParam Tag Result

← Jstl Sql Transaction TagJstl Sql Param Tag β†’