質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

Q&A

解決済

1回答

77464閲覧

JSPでテーブルをラジオボタンで選択して削除したいのですが

退会済みユーザー

退会済みユーザー

総合スコア0

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

0グッド

0クリップ

投稿2017/07/27 04:06

一覧画面(employeelist.jsp)でDBからテーブルを表示し、
そのテーブルをラジオボタンで選択した行だけを削除したいのですが、
削除ボタンを押してDeleteServletで以下の処理を記述したのですが
下記のエラーが出てしまい、原因がわかりません、どう対処すれば良いでしょうか。

よろしくお願いします。

【エラー】
HTTPステータス 500 - com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '0,1' at line 1

【employeelist.jsp】

<%@ page import="java.util.List,kadai.Tableclass" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>社員一覧</title> </head> <body> <h2>社員一覧</h2> <table border="1"> <tr bgcolor="#afeeee"> <th></th> <th>社員コード</th> <th>氏名</th> <th>氏名カナ</th> <th>性別</th> <th>役職名</th> <th>所属部署名</th> <th>在職情報</th> <form action="UpdateServlet" id="form" name="form"> <c:forEach var="item" items="${list}" varStatus="num"> <tr> <td><input type="radio" name="radio" value="${num.index}"></td> <td>${item.s_id}</td> <td>${item.name }</td> <td>${item.name_kana }</td> <td>${item.sex }</td> <td>${item.clas }</td> <td>${item.depart_name }</td> <td>${item.retired }</td> </tr> </c:forEach> </table> <input type="submit" value="削除" onclick="goServlet();"> <!-- header.jsp --> <input type="button" value="登録" onclick="location.href='DepartServlet'"> <input type="button" value="更新" > <input type="button" value="戻る" onclick="location.href='kintaikanrisystem.jsp'"> </form> </body> </html>

【header.jsp】

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <title>勤怠管理システム</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <html> <head> <script type="text/javascript"> function goServlet(){ document.getElementById('form').action="DeleteServlet"; } window.onload=function(){ var co=document.getElementsByName("radio"); co[0].checked=true; } </script> <body> <hr color="#0000FF"> <h2 style="color:#FF0000">${message1}</h2> <h2 style="color:#FF0000">${message2}</h2> </body> </head> <body> </html>

【DeleteServlet】

package kadai; import java.io.IOException; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class DeleteServlet */ public class DeleteServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public DeleteServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); response.setContentType("text/html:charset=UTF-8"); Connection con =null; Statement smt=null; try{ con=DBManager.getConnection(); smt=con.createStatement(); String nu=null; nu=request.getParameter("radio"); int num=Integer.parseInt(nu); String sql="SELECT s_id,l_name,f_name,l_name_kana,f_name_kana,sex,class,depart.depart_name,retired FROM employee INNER JOIN depart ON depart.depart_id = employee.depart_id "+num+","+1; ResultSet rs =smt.executeQuery(sql); String str=null; while(rs.next()){ str=rs.getString("S_id"); } String sq="delete from employee where s_id='"+str+"'"; int in =smt.executeUpdate(sq); }catch(SQLException e){ throw new ServletException(e); }finally{ if(smt != null){ try{smt.close();}catch(SQLException ignore){} }if(smt != null){ try{con.close();}catch(SQLException ignore){} } } request.getRequestDispatcher("KintaikanrisystemServlet").forward(request,response); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }

【web.xml】

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:jsp="http://java.sun.com/xml/ns/javaee/jsp" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <jsp-config> <jsp-property-group> <url-pattern>*.jsp</url-pattern> <include-prelude>/header.jsp</include-prelude> <include-coda>/footer.jsp</include-coda> </jsp-property-group> </jsp-config> <servlet> <servlet-name>KintaikanrisystemServlet</servlet-name> <servlet-class>kadai.KintaikanrisystemServlet</servlet-class> </servlet> <servlet> <servlet-name>DeleteServlet</servlet-name> <servlet-class>kadai.DeleteServlet</servlet-class> </servlet> <servlet> <servlet-name>EntryServlet</servlet-name> <servlet-class>kadai.EntryServlet</servlet-class> </servlet> <servlet> <servlet-name>DepartServlet</servlet-name> <servlet-class>kadai.DepartServlet</servlet-class> </servlet> <servlet> <servlet-name>UpdateServlet</servlet-name> <servlet-class>kadai.UpdateServlet</servlet-class> </servlet> <servlet> <servlet-name>UpdateDeparyServlet</servlet-name> <servlet-class>kadai.UpdateDeparyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>KintaikanrisystemServlet</servlet-name> <url-pattern>/KintaikanrisystemServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>DeleteServlet</servlet-name> <url-pattern>/DeleteServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>EntryServlet</servlet-name> <url-pattern>/EntryServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>DepartServlet</servlet-name> <url-pattern>/DepartServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>UpdateServlet</servlet-name> <url-pattern>/UpdateServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>UpdateDeparyServlet</servlet-name> <url-pattern>/UpdateDeparyServlet</url-pattern> </servlet-mapping> </web-app>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

SQL文が間違えていますというエラーです。

SQL文を見直してみましょう。

投稿2017/07/27 04:21

s.t.

総合スコア2021

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/07/27 04:33 編集

s.t. さん 回答ありがとうございます。確かめてみたとこSQL文が間違っていたので、String sql="select * from employee order by s_id asc limit "+num+","+1; に変えたところ削除できました。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問