<sql:update>-Tag

JSP 标准标签库JSP-Standard-Tag-Bibliothek

Das <sql:update>-Tag wird verwendet, um eine SQL-Anweisung auszuführen, die keinen Wert zurückgibt, wie z. B. SQL-INSERT-, UPDATE- und DELETE-Anweisungen.

Syntaxformat

<sql:update var="<string>" scope="<string>" sql="<string>" dataSource="<string>"/>

Attribute

Das <sql:update>-Tag hat die folgenden Attribute:

Attribute Beschreibung Erforderlich Standardwert
sql Der auszuführende SQL-Befehl (gibt kein ResultSet-Objekt zurück) nein Body
dataSource Die zu verwendende Datenbankverbindung (überschreibt den Standardwert) nein Standarddatenbank
var Die Variable, die zum Speichern der Anzahl der betroffenen Zeilen verwendet wird nein Keine
scope Der Gültigkeitsbereich des var-Attributs nein Page


Programmbeispiel

Zuerst müssen Sie eine Tabelle Employees in der TEST-Datenbank erstellen und dann einige Datensätze zur Tabelle hinzufügen. Die einzelnen Schritte sind wie folgt:

Schritt 1:

Öffnen Sie CMD, wechseln Sie in das Installationsverzeichnis:

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

Schritt 2:

Melden Sie sich bei der Datenbank an:

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

Schritt 3:

Erstellen Sie die Tabelle Employees in der Datenbank TEST:

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

Datensätze erstellen:

Erstellen Sie schließlich einige Datensätze in der Tabelle Employees:

mysql> INSERT INTO Employees VALUES (100, 18, 'Zara', 'Ali');
Query OK, 1 row affected (0.05 sec)
 
mysql> INSERT INTO Employees VALUES (101, 25, 'Mahnaz', 'Fatma');
Query OK, 1 row affected (0.00 sec)
 
mysql> INSERT INTO Employees VALUES (102, 30, 'Zaid', 'Khan');
Query OK, 1 row affected (0.00 sec)
 
mysql> INSERT INTO Employees VALUES (103, 28, 'Sumit', 'Mittal');
Query OK, 1 row affected (0.00 sec)
 
mysql>

Schreiben Sie nun eine JSP-Datei und verwenden Sie das <sql:update>-Tag, um eine SQL-INSERT-Anweisung auszuführen:

<%@ 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.*" %>
<%@ 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:update 标签</title>
</head>
<body>
 
<sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver"
     url="jdbc:mysql://localhost/TEST"
     user="root"  password="pass123"/>

<sql:update dataSource="${snapshot}" var="count">
   INSERT INTO Employees VALUES (104, 2, 'Nuha', 'Ali');
</sql:update>

<sql:query dataSource="${snapshot}" var="result">
   SELECT * from Employees;
</sql:query>
 
<table border="1" width="100%">
<tr>
<th>Emp ID</th>
<th>First Name</th>
<th>Last Name</th>
<th>Age</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.age}"/></td>
</tr>
</c:forEach>
</table>

</body>
</html>

Das Ergebnis ist wie folgt:

sql-update

Die Verwendung von SQL-UPDATE- und DELETE-Anweisungen ähnelt der INSERT-Anweisung.

In sql:update können Sie, wenn Sie Variablen verwenden müssen,sql:param verwenden。

<sql:update dataSource="${snapshot}" var="count">
  DELETE FROM Employees WHERE Id = ?
  <sql:param value="${empId}" />
</sql:update>

JSP 标准标签库JSP-Standard-Tag-Bibliothek

Andere Erweiterungen