JSP JSTL <sql:update>标签:更新数据
<sql:update> 标签用于使用 update、delete 和 insert 等 SQL 语句更新数据库记录,并返回影响的记录行数。语法:
<sql:update sql="sqlUpdate" 含有查询语句的语法如下:
<sql:update sql="sqlUpdate" 含有条件查询的语法如下:
<sql:update[dataSource="dataSource"][var="varName"][scope="{page|request|session|application}"]> <sql:update>标签各属性的详细介绍如表所示。
示例1应用 <sql:setDataSource> 标签连接 MySQL 数据库 db_testJSTL,并应用 <sql:update> 标签向数据表 tb_user 中插入一条记录,并显示全部数据表记录,关键代码如下:<%@page language="java" contentType="text/html;charset=GBK" pageEncoding="GBK"%> <%@taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <sql:setDataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/db_testjstl"user="root" password="111"/> <sql:update sql="INSERT INTO tb_user(username,pwd)VALUES('无语','111')"/> <table width="300" border="1" cellspacing="0" cellpadding="0" bordercolor="#FFFFFF" bordercolordark="#999999" bordercolorlight="#FFFFFF"> <tr> <td align="center">&nbsp;${rs.columnNames[0]}</td> <td align="center">&nbsp;${rs.columnNames[1]}</td> <td align="center">&nbsp;${rs.columnNames[2]}</td> </tr> <c:forEach items="${rs.rowsByIndex}" var="row"> <tr> <td>&nbsp;${row[0]}</td> <td>&nbsp;${row[1]}</td> <td>&nbsp;${row[2]}</td> </tr> </c:forEach> </table> 示例2应用 <sql:setDataSource> 标签连接 MySQL 数据库 db_testJSTL,并应用 <sql:update> 标签修改数据表 tb_user 中用户名为“无语”的用户密码为 123,关键代码如下:<%@page language="java" contentType="text/html;charset=GBK" pageEncoding="GBK"%> <%@taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%> <sql:setDataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/db_testjstl"user="root" password="111"/> <sql:update sql="UPDATE tb_user SET pwd='123'WHERE username='无语'"/> <sql:query var="rs" sql="SELECT*FROM tb_user order by id desc"></sql:query> <%@page language="java" contentType="text/html;charset=GBK" pageEncoding="GBK"%> <%@taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%> <sql:setDataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/db_testjstl"user="root" password="111"/> <sql:update sql="UPDATE tb_user SET pwd='123'WHERE username='无语'"/> <sql:query var="rs" sql="SELECT*FROM tb_user order by id desc"></sql:query> 示例3应用 <sql:setDataSource> 标签连接 MySQL 数据库 db_testJSTL,并应用 <sql:update> 标签删除数据表 tb_user 中用户名为“无语”的用户信息,关键代码如下:<%@page language="java" contentType="text/html;charset=GBK" pageEncoding="GBK"%> <%@taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%> <sql:setDataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/db_testjstl"user="root" password="111"/> <sql:update sql="DELETE FROM tb_user WHERE username='无语'"/> 典型应用本示例使用 <sql:update> 标签向数据库中的 tb_goods 表插入一条新记录,使用系统时间生成记录的商品编号,以当前操作系统作为商品名称。应用 <sql:update> 标签向数据库中插入一条数据,关键代码如下:<%@page pageEncoding="gbk" contentType="text/html;charset=GBK"%> <%@taglib prefix="sql" uri="/WEB-INF/sql.tld"%> <%@taglib prefix="c" uri="/WEB-INF/c.tld"%> <sql:setDataSource driver="com.microsoft.jdbc.sqlserver.SQLServerDriver" url="jdbc:microsoft:sqlserver://localhost:1433;databaseName=db_JSDQ26" user="sa"password=""/> <% request.setAttribute("id",System.currentTimeMillis()%100); request.setAttribute("name",System.getProperty("os.name")); request.setAttribute("intro",System.getProperty("user.dir")); request.setAttribute("price",2000); request.setAttribute("nowPrice",1800); %> <sql:update sql="insert tb_goods values(${id},'${name}','${intro}',${price},${nowPrice})"/> <sql:query var="result" sql="select*from tb_goods where商品编号<=${id}order by商品编号desc" maxRows="6"/> <table width="600" border="1" cellpadding="0" cellspacing="0" bordercolor="white" bordercolordark="white" bordercolorlight="black"> <tr align="center" bgcolor="cyan"> <td width="80">${result.columnNames[0]}</td> <td width="140">${result.columnNames[1]}</td> <td width="240">${result.columnNames[2]}</td> <td width="50">${result.columnNames[3]}</td> <td width="50">${result.columnNames[4]}</td> </tr> <c:forEach items="${result.rowsByIndex}" var="row"> <tr> <td>${row[0]}</td> <td>${row[1]}</td> <td>${row[2]}</td> <td>${row[3]}</td> <td>${row[4]}</td> </tr> </c:forEach> </table>运行结果如下:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |