【发布时间】:2013-11-27 14:16:39
【问题描述】:
我正在尝试使用 JSP 文件从我的 MS Access 数据库中删除一行。但我在下面收到以下错误。谁知道怎么修它。谢谢。任何帮助将非常感激。
org.apache.jasper.JasperException: javax.servlet.ServletException: javax.servlet.jsp.JspException:从员工那里删除 empId = ? : [Microsoft][ODBC Microsoft Access Driver]无效的 SQL 数据类型 org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:585) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:455) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
根本原因
javax.servlet.ServletException: javax.servlet.jsp.JspException:
从员工那里删除 empId = ?
代码:JSP 文件。
<%@ 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>DELETE Operation</title>
</head>
<body>
<sql:setDataSource
var = "bookdB"
scope = "session"
driver = "sun.jdbc.odbc.JdbcOdbcDriver"
url = "jdbc:odbc:bookdB"
/>
<c:set var="empId" value="${param['empId']}"/>
<sql:update dataSource="${bookdB}" var="count">
DELETE FROM Employees WHERE empId = ?
<sql:param value="${empId}" />
</sql:update>
<sql:query dataSource="${bookdB}" var="result">
SELECT * from Employees;
</sql:query>
<table border="1" width="100%">
<tr>
<th></th>
<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><a href="?empId=[empId to remove]">Delete</a></td>
<td><c:out value="${row.empId}"/></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>
用下面的答案更新后仍然出现错误。有人有什么想法吗???,请您帮忙。谢谢。
【问题讨论】: