# JV27 課題No.03
###### tags: `課題`
「データベース名簿削除」
6/7(月)まで
> オプション1
> 複数件削除!!
> チェックボックス
> オプション2
> 削除確認
```htmlembedded=
<input type="checkbox">
<input type="checkbox" name="HOME_TEL"
value='052'
value='03'
value='06'
// HOME_TEL = 052, 03, 06を送信(配列として定義)
```
受信側
送信データを配列として受け取る
// Str[]の中身の個数を指定しないことによって、可変になる
``` java =
String home_telStr[] = rew.getParameterValues('HOME_TEL');
```
配列から1件ずつ取り出し削除する
①配列から取り出しながらDELETE実行
②DELETEの削除条件を全データつなげて1回削除する
配列から削除データを取り出す
``` java =
for(int i=0; i < home_telStr.length; i++){
1. DELETE FROM テーブル名 WHERE
home_tel = 'home_telStr[i]'
executeUpdate()
// DELETEは1回のみ実行
2. delete from テーブル名 where home_tel='052' or home_tel='03' or home_tel='06'
}
```
```htmlembedded=
<!-- class_delete.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://cdn.jsdelivr.net/npm/daisyui@0.26.3/dist/full.css" rel="stylesheet" type="text/css" />
<title>Document</title>
</head>
<body>
<div class="">クラス名簿 削除</div>
<form action="./servlet/class_delete" method="POST">
<span class="label-text">削除対象クラス</span>
<select name="CLASS_NO" class="">
<option value="AT11A192" selected>AT11A192</option>
<option value="AT11B203">AT11B203</option>
<option value="CG11A172">CG11A172</option>
<option value="IT11A172">IT11A172</option>
<option value="AT12A165">AT12A165</option>
<option value="AT12B165">AT12B165</option>
<option value="IH12A101">IH12A101</option>
<option value="IW12A185">IW12A185</option>
<option value="AT13A223">AT13A223</option>
<option value="AP13A223">AP13A223</option>
<option value="IH13A223">IH13A223</option>
<option value="IW13A187">IW13A187</option>
<option value="CD13A166">CD13A166</option>
<option value="AP14A226">AP14A226</option>
<option value="AT14A226">AT14A226</option>
<option value="IH14A223">IH14A223</option>
<option value="CT14A187">CT14A187</option>
<option value="IW14A187">IW14A187</option>
<option value="xx14Axx">xx14Axx</option>
</select>
<a href="class_index.html">
<div class="">戻る</div>
</a>
<button class="">検索</button>
</form>
</div>
</body>
</html>
```
```java=
// class_delete.java
import java.sql.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class class_delete extends HttpServlet {
public void doPost (
HttpServletRequest req,
HttpServletResponse res )
throws ServletException , IOException {
final String URL = "jdbc:mysql://localhost/nhs00157db?useUnicode=true&characterEncoding=UTF-8";
final String USER = "miyasan";
final String PASSWORD = "0301";
final String DRIVER = "com.mysql.jdbc.Driver";
Connection con = null;
Statement stmt = null;
String class_no,gakuseki_no,syusseki_no,simei_1,simei_2,kana_1,kana_2,umare;
PrintWriter out;
req.setCharacterEncoding("UTF-8");
res.setContentType("text/html;charset=UTF-8");
out = res.getWriter();
String searchStr = "";
String selectStr = req.getParameter("CLASS_NO");
StringBuffer sb = new StringBuffer();
sb.append("<html>");
sb.append("<head>");
sb.append("<title>名簿削除</title>");
sb.append("<link href='https://cdn.jsdelivr.net/npm/tailwindcss@2.1/dist/tailwind.min.css' rel='stylesheet' type='text/css' />");
sb.append("<link href='https://cdn.jsdelivr.net/npm/daisyui@1.1.1/dist/full.css' rel='stylesheet' type='text/css' />");
sb.append("</head>");
sb.append("<body>");
sb.append("<div>");
sb.append("<div>名簿検索</div>");
sb.append("<div'>検索結果 : " + searchStr + "</div>");
sb.append("<form action='./servlet/class_delete' method='POST'>");
sb.append("<table>");
sb.append("<tr>");
sb.append("<th>");
sb.append("削除");
sb.append("</th>");
sb.append("<th>");
sb.append("出席番号");
sb.append("</th>");
sb.append("<th>");
sb.append("学籍番号");
sb.append("</th>");
sb.append("<th>");
sb.append("氏名(姓)");
sb.append("</th>");
sb.append("<th>");
sb.append("氏名(名)");
sb.append("</th>");
sb.append("<th>");
sb.append("カナ(姓)");
sb.append("</th>");
sb.append("<th>");
sb.append("カナ(名)");
sb.append("</th>");
sb.append("<th>");
sb.append("生年月日");
sb.append("</th>");
sb.append("</tr>");
try {
Class.forName(DRIVER);
con = DriverManager.getConnection(URL,USER,PASSWORD);
stmt = con.createStatement();
StringBuffer query = new StringBuffer();
query.append("select * from class_table where ");
query.append("class_no = '");
query.append(selectStr);
query.append("' order by syusseki_no");
ResultSet rs = stmt.executeQuery(query.toString());
while (rs.next()) {
syusseki_no = rs.getString("syusseki_no");
gakuseki_no = rs.getString("gakuseki_no");
simei_1 = rs.getString("simei_1");
simei_2 = rs.getString("simei_2");
kana_1 = rs.getString("kana_1");
kana_2 = rs.getString("kana_2");
umare = rs.getString("umare");
sb.append("<tr>");
sb.append("<td>");
sb.append("<input type='radio' name='DELETE_ID' value='" + gakuseki_no + "' />");
sb.append("</td>");
sb.append("<td>");
sb.append(syusseki_no);
sb.append("</td>");
sb.append("<td>");
sb.append(gakuseki_no);
sb.append("</td>");
sb.append("<td>");
sb.append(simei_1);
sb.append("</td>");
sb.append("<td>");
sb.append(simei_2);
sb.append("</td>");
sb.append("<td>");
sb.append(kana_1);
sb.append("</td>");
sb.append("<td>");
sb.append(kana_2);
sb.append("</td>");
sb.append("<td>");
sb.append(umare);
sb.append("</td>");
sb.append("</tr>");
}
sb.append("</table>");
sb.append("<button>削除</button>");
sb.append("<hr/>");
sb.append("</form>");
sb.append("<div>");
sb.append("<a href='/JV27/class_delete.html'><button>検索に戻る</button></a>");
sb.append("<a href='/JV27/class_index.html'><button>ホームに戻る</button></a>");
sb.append("</div>");
sb.append("</div>");
sb.append("</body>");
sb.append("</html>");
out.println(sb.toString());
stmt.close();
con.close();
} catch (SQLException ex) {
out.println(" ---- SQL Exception ----");
out.println(" ---- Error Message ----");
while (ex != null) {
out.println(ex.getMessage());
ex = ex.getNextException();
}
} catch (Exception ex) {
ex.printStackTrace(out);
}
}}
```
```java=
// class_delete_done.java
import java.sql.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class class_delete_done extends HttpServlet {
public void doPost (
HttpServletRequest req,
HttpServletResponse res )
throws ServletException , IOException {
final String URL = "jdbc:mysql://localhost/nhs00157db?useUnicode=true&characterEncoding=UTF-8";
final String USER = "miyasan";
final String PASSWORD = "0301";
final String DRIVER = "com.mysql.jdbc.Driver";
Connection con = null;
Statement stmt = null;
String class_no,gakuseki_no,syusseki_no,simei_1,simei_2,kana_1,kana_2,umare;
PrintWriter out;
req.setCharacterEncoding("UTF-8");
res.setContentType("text/html;charset=UTF-8");
out = res.getWriter();
String delete_idStr = req.getParameter("DELETE_ID");
try {
Class.forName(DRIVER);
con = DriverManager.getConnection(URL,USER,PASSWORD);
stmt = con.createStatement();
StringBuffer query = new StringBuffer();
query.append("delete from class_table where gakuseki_no = '");
query.append(delete_idStr);
query.append("'");
stmt.executeUpdate(query.toString());
StringBuffer sb = new StringBuffer();
sb.append("<html>");
sb.append("<head>");
sb.append("<title>名簿削除</title>");
sb.append("<link href='https://cdn.jsdelivr.net/npm/daisyui@0.26.3/dist/full.css' rel='stylesheet' type='text/css' />");
sb.append("</head>");
sb.append("<body>");
sb.append("<div>名簿削除</div>");
sb.append("<h1>名簿削除完了</h1>");
sb.append("<hr/>");
sb.append("<div>");
sb.append("<a href='/JV27/class_delete.html'>削除に戻る</a>");
sb.append("<a href='/JV27/class_index.html'>ホームに戻る</a>");
sb.append("</div>");
sb.append("</div>");
sb.append("</body>");
sb.append("</html>");
out.println(sb.toString());
stmt.close();
con.close();
}
catch (SQLException ex) {
out.println(" ---- SQL Exception ----");
out.println(" ---- Error Message ----");
while (ex != null) {
out.println(ex.getMessage());
ex = ex.getNextException();
}
} catch (Exception ex) {
ex.printStackTrace(out);
}
}
}
```
オプション1
①複数回にわけてdeleteを行う
```java=
// class_delete1.java
import java.sql.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class class_delete extends HttpServlet {
public void doPost (
HttpServletRequest req,
HttpServletResponse res )
throws ServletException , IOException {
final String URL = "jdbc:mysql://localhost/nhs00157db?useUnicode=true&characterEncoding=UTF-8";
final String USER = "miyasan";
final String PASSWORD = "0301";
final String DRIVER = "com.mysql.jdbc.Driver";
Connection con = null;
Statement stmt = null;
String class_no,gakuseki_no,syusseki_no,simei_1,simei_2,kana_1,kana_2,umare;
PrintWriter out;
req.setCharacterEncoding("UTF-8");
res.setContentType("text/html;charset=UTF-8");
out = res.getWriter();
String searchStr = "";
String selectStr = req.getParameter("CLASS_NO");
StringBuffer sb = new StringBuffer();
sb.append("<html>");
sb.append("<head>");
sb.append("<title>名簿削除</title>");
sb.append("<link href='https://cdn.jsdelivr.net/npm/tailwindcss@2.1/dist/tailwind.min.css' rel='stylesheet' type='text/css' />");
sb.append("<link href='https://cdn.jsdelivr.net/npm/daisyui@1.1.1/dist/full.css' rel='stylesheet' type='text/css' />");
sb.append("</head>");
sb.append("<body>");
sb.append("<div>");
sb.append("<div>名簿検索</div>");
sb.append("<div'>検索結果 : " + searchStr + "</div>");
sb.append("<form action='./servlet/class_delete_done' method='POST'>");
sb.append("<table>");
sb.append("<tr>");
sb.append("<th>");
sb.append("削除");
sb.append("</th>");
sb.append("<th>");
sb.append("出席番号");
sb.append("</th>");
sb.append("<th>");
sb.append("学籍番号");
sb.append("</th>");
sb.append("<th>");
sb.append("氏名(姓)");
sb.append("</th>");
sb.append("<th>");
sb.append("氏名(名)");
sb.append("</th>");
sb.append("<th>");
sb.append("カナ(姓)");
sb.append("</th>");
sb.append("<th>");
sb.append("カナ(名)");
sb.append("</th>");
sb.append("<th>");
sb.append("生年月日");
sb.append("</th>");
sb.append("</tr>");
try {
Class.forName(DRIVER);
con = DriverManager.getConnection(URL,USER,PASSWORD);
stmt = con.createStatement();
StringBuffer query = new StringBuffer();
query.append("select * from class_table where ");
query.append("class_no = '");
query.append(selectStr);
query.append("' order by syusseki_no");
ResultSet rs = stmt.executeQuery(query.toString());
while (rs.next()) {
syusseki_no = rs.getString("syusseki_no");
gakuseki_no = rs.getString("gakuseki_no");
simei_1 = rs.getString("simei_1");
simei_2 = rs.getString("simei_2");
kana_1 = rs.getString("kana_1");
kana_2 = rs.getString("kana_2");
umare = rs.getString("umare");
sb.append("<tr>");
sb.append("<td>");
sb.append("<input type='checkbox' name='DELETE_ID' value='" + gakuseki_no + "' />");
sb.append("</td>");
sb.append("<td>");
sb.append(syusseki_no);
sb.append("</td>");
sb.append("<td>");
sb.append(gakuseki_no);
sb.append("</td>");
sb.append("<td>");
sb.append(simei_1);
sb.append("</td>");
sb.append("<td>");
sb.append(simei_2);
sb.append("</td>");
sb.append("<td>");
sb.append(kana_1);
sb.append("</td>");
sb.append("<td>");
sb.append(kana_2);
sb.append("</td>");
sb.append("<td>");
sb.append(umare);
sb.append("</td>");
sb.append("</tr>");
}
sb.append("</table>");
sb.append("<button>削除</button>");
sb.append("<hr/>");
sb.append("</form>");
sb.append("<div>");
sb.append("<a href='/JV27/class_delete.html'><button>検索に戻る</button></a>");
sb.append("<a href='/JV27/class_index.html'><button>ホームに戻る</button></a>");
sb.append("</div>");
sb.append("</div>");
sb.append("</body>");
sb.append("</html>");
out.println(sb.toString());
stmt.close();
con.close();
} catch (SQLException ex) {
out.println(" ---- SQL Exception ----");
out.println(" ---- Error Message ----");
while (ex != null) {
out.println(ex.getMessage());
ex = ex.getNextException();
}
} catch (Exception ex) {
ex.printStackTrace(out);
}
}}
```
```java=
// class_delete_done1.java
import java.sql.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class class_delete_done extends HttpServlet {
public void doPost (
HttpServletRequest req,
HttpServletResponse res )
throws ServletException , IOException {
final String URL = "jdbc:mysql://localhost/nhs00157db?useUnicode=true&characterEncoding=UTF-8";
final String USER = "miyasan";
final String PASSWORD = "0301";
final String DRIVER = "com.mysql.jdbc.Driver";
Connection con = null;
Statement stmt = null;
String class_no,gakuseki_no,syusseki_no,simei_1,simei_2,kana_1,kana_2,umare;
PrintWriter out;
req.setCharacterEncoding("UTF-8");
res.setContentType("text/html;charset=UTF-8");
out = res.getWriter();
String delete_idStr[] = req.getParameterValues("DELETE_ID");
try {
Class.forName(DRIVER);
con = DriverManager.getConnection(URL,USER,PASSWORD);
stmt = con.createStatement();
for(int i = 0; i<delete_idStr.length; i++){
StringBuffer query = new StringBuffer();
query.append("delete from class_table where gakuseki_no = '");
query.append(delete_idStr[i]);
query.append("'");
stmt.executeUpdate(query.toString());
}
StringBuffer sb = new StringBuffer();
sb.append("<html>");
sb.append("<head>");
sb.append("<title>名簿削除</title>");
sb.append("<link href='https://cdn.jsdelivr.net/npm/daisyui@0.26.3/dist/full.css' rel='stylesheet' type='text/css' />");
sb.append("</head>");
sb.append("<body>");
sb.append("<div>名簿削除</div>");
sb.append("<h1>名簿削除完了</h1>");
sb.append("<hr/>");
sb.append("<div>");
sb.append("<a href='/JV27/class_delete.html'>削除に戻る</a>");
sb.append("<a href='/JV27/class_index.html'>ホームに戻る</a>");
sb.append("</div>");
sb.append("</div>");
sb.append("</body>");
sb.append("</html>");
out.println(sb.toString());
stmt.close();
con.close();
}
catch (SQLException ex) {
out.println(" ---- SQL Exception ----");
out.println(" ---- Error Message ----");
while (ex != null) {
out.println(ex.getMessage());
ex = ex.getNextException();
}
} catch (Exception ex) {
ex.printStackTrace(out);
}
}
}
```
オプション2
確認画面
class_delete1.javaとclass_delete_done.javaのあいだにこれいれてaction変えたらできるはず
```java=
// class_delete_kakunin.java
import java.sql.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class class_delete_kakunin extends HttpServlet {
public void doPost (
HttpServletRequest req,
HttpServletResponse res )
throws ServletException , IOException {
final String URL = "jdbc:mysql://localhost/nhs00157db?useUnicode=true&characterEncoding=UTF-8";
final String USER = "miyasan";
final String PASSWORD = "0301";
final String DRIVER = "com.mysql.jdbc.Driver";
Connection con = null;
Statement stmt = null;
String class_no,gakuseki_no,syusseki_no,simei_1,simei_2,kana_1,kana_2,umare;
PrintWriter out;
req.setCharacterEncoding("UTF-8");
res.setContentType("text/html;charset=UTF-8");
out = res.getWriter();
String delete_idStr[] = req.getParameterValues("DELETE_ID");
StringBuffer sb = new StringBuffer();
sb.append("<html>");
sb.append("<head>");
sb.append("<title>名簿削除</title>");
sb.append("<link href='https://cdn.jsdelivr.net/npm/tailwindcss@2.1/dist/tailwind.min.css' rel='stylesheet' type='text/css' />");
sb.append("<link href='https://cdn.jsdelivr.net/npm/daisyui@1.1.1/dist/full.css' rel='stylesheet' type='text/css' />");
sb.append("</head>");
sb.append("<body>");
sb.append("<div>");
sb.append("<div>名簿検索</div>");
sb.append("<div'>検索結果</div>");
sb.append("<form action='./servlet/class_delete_done' method='POST'>");
sb.append("<table>");
sb.append("<tr>");
sb.append("<th>");
sb.append("クラス");
sb.append("</th>");
sb.append("<th>");
sb.append("出席番号");
sb.append("</th>");
sb.append("<th>");
sb.append("学籍番号");
sb.append("</th>");
sb.append("<th>");
sb.append("氏名(姓)");
sb.append("</th>");
sb.append("<th>");
sb.append("氏名(名)");
sb.append("</th>");
sb.append("<th>");
sb.append("カナ(姓)");
sb.append("</th>");
sb.append("<th>");
sb.append("カナ(名)");
sb.append("</th>");
sb.append("<th>");
sb.append("生年月日");
sb.append("</th>");
sb.append("</tr>");
try {
Class.forName(DRIVER);
con = DriverManager.getConnection(URL,USER,PASSWORD);
stmt = con.createStatement();
for(int i = 0; i<delete_idStr.length; i++){
StringBuffer query = new StringBuffer();
query.append("select * from class_table where ");
query.append("gakuseki_no = '");
query.append(delete_idStr[i]);
query.append("'");
ResultSet rs = stmt.executeQuery(query.toString());
while (rs.next()) {
class_no = rs.getString("class_no");
syusseki_no = rs.getString("syusseki_no");
gakuseki_no = rs.getString("gakuseki_no");
simei_1 = rs.getString("simei_1");
simei_2 = rs.getString("simei_2");
kana_1 = rs.getString("kana_1");
kana_2 = rs.getString("kana_2");
umare = rs.getString("umare");
sb.append("<tr>");
sb.append("<td>");
sb.append("<input type='hidden' name='DELETE_ID' value='" + gakuseki_no + "' />");
sb.append(class_no);
sb.append("</td>");
sb.append("<td>");
sb.append(syusseki_no);
sb.append("</td>");
sb.append("<td>");
sb.append(gakuseki_no);
sb.append("</td>");
sb.append("<td>");
sb.append(simei_1);
sb.append("</td>");
sb.append("<td>");
sb.append(simei_2);
sb.append("</td>");
sb.append("<td>");
sb.append(kana_1);
sb.append("</td>");
sb.append("<td>");
sb.append(kana_2);
sb.append("</td>");
sb.append("<td>");
sb.append(umare);
sb.append("</td>");
sb.append("</tr>");
}
}
sb.append("</table>");
sb.append("<button>削除</button>");
sb.append("<hr/>");
sb.append("</form>");
sb.append("<div>");
sb.append("<a href='/JV27/class_delete.html'><button>検索に戻る</button></a>");
sb.append("<a href='/JV27/class_index.html'><button>ホームに戻る</button></a>");
sb.append("</div>");
sb.append("</div>");
sb.append("</body>");
sb.append("</html>");
out.println(sb.toString());
stmt.close();
con.close();
} catch (SQLException ex) {
out.println(" ---- SQL Exception ----");
out.println(" ---- Error Message ----");
while (ex != null) {
out.println(ex.getMessage());
ex = ex.getNextException();
}
} catch (Exception ex) {
ex.printStackTrace(out);
}
}}
```
<span style="color: #ff3333">aaa</span>
<span style="text-decoration: underline">aaa</span>
## 雑談 (0→やまぴ 1→みや 2→やすい 3→りょうくん)
<span style="font-size: 100px">
1.Hello World!!!!!
</span>
3. おはよう
2.OHYOU
課題やってる?
安井くんがやるらしい
今回わし安井がやるわぁ
おぷ1まで?
出てたっけ?
削除確認がオプ2か
オプ2までわしやろうかな
りょー
どこまで?
op2って出てないけ
基本課題だけ今からやろうかな
op1op2お願いします〜
:-1:
:accept:
:sa:
就活体力使う
おはよう
やってない
やる気起きな
:fire:
わかるわ
できたで
今日狂ったように暑いわ
これで5月は狂気やろ
🦑
長袖は死ぬ
awsの資格とらんといけん
AWS Certified Developer Associate
いや、JTPの為に
今日朝、郵便局で内定書類だしてきた
awsなんてなんもしらんわ
azureでもgcpでもよかったけど、awsが一番有名やし
それすらもわからんわwwwwwwwwwwww
今日の色悪くないね
先週ひどいときあったやろ
OHYOU
昨日もおかしいくらいあつかった
夏になったら干上がっちゃう
イカは草 ました!?
おれ半袖半ズボンで出かけた
値段高いよねaws
がんばろ
それは暑かったね
ネットワークの授業がいきるんじゃない。知らないけど(笑)ww
そう? 好きな色ではないけど、見分けはつくね
あった
おはようございました
昨日長袖で出かけた
俺も欲しい
就活やり直すかもしれないかもしれないかも?
あ、ごめんおれop1までやってる
おはよ、op1,2終わったんだけどみんな終わった?
おわってないです!!!
やすいくんに頼るつもりが学校きてない
じゃ私宮原君のいじって書いとくね
かいてください!ありがとうございます!
op勝手に書いてしまったわたぶんactionとかテキトウだから変かも
そこはなんとか書きますありがとうございます
リョカ