<sql:dateParam> 标签
<sql:dateParam>标签与<sql:query>标签和<sql:update>标签嵌套使用,用来提供日期和时间的占位符。如果是一个null值,则将占位符设为SQL NULL。
属性
<sql:dateParam>标签有如下属性:
属性 | 描述 | 是否必要 | 默认值 |
---|---|---|---|
value | 需要设置的日期参数(java.util.Date) | 否 | Body |
type | DATE (只有日期),TIME(只有时间), TIMESTAMP (日期和时间) | 否 | TIMESTAMP |
实例演示
首先,需要在TEST数据库中建一个Employees表,然后往表中添加几条记录,具体操作步骤如下:
步骤1:
打开CMD,将目录转至安装目录下:
1 2 3 | C:\> C:\>cd Program Files\MySQL\bin C:\Program Files\MySQL\bin> |
步骤2:
登陆数据库:
1 2 3 | C:\Program Files\MySQL\bin>mysql -u root -p Enter password: ******** mysql> |
步骤3:
在TEST数据库中建立Employees表:
1 2 3 4 5 6 7 8 9 10 | 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> |
创建数据记录:
最后,在Employees表中创建几条记录:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 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:update>标签、<sql:param>标签和<sql:dateParam>标签来执行SQL UPDATE语句,更新Zara的生日:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | <%@ 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> |
运行结果如下: