From a56fa4eefa29dcd60fb8c9a8cb967fe1e3c51abd Mon Sep 17 00:00:00 2001 From: s-sakiyama <26-m-s-stella-tecnica@it-college.jp> Date: Wed, 30 Sep 2026 14:49:35 +0900 Subject: [PATCH] =?UTF-8?q?6=E6=AE=B5=E9=9A=8E=E7=9B=AE=EF=BC=88DAO?= =?UTF-8?q?=E3=81=AE=E3=83=87=E3=83=BC=E3=82=BF=E6=9B=B4=E6=96=B0=E3=83=A1?= =?UTF-8?q?=E3=82=BD=E3=83=83=E3=83=89=E3=82=92=E4=BD=9C=E6=88=90=E2=86=92?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=87=A6=E7=90=86=E5=AE=8C=E6=88=90=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/rhizome/example/dao/EmployeeDAO.java | 45 ++++++++++++++++++++ src/com/rhizome/example/main/Main.java | 30 +++++++++++++ 2 files changed, 75 insertions(+) diff --git a/src/com/rhizome/example/dao/EmployeeDAO.java b/src/com/rhizome/example/dao/EmployeeDAO.java index c2ea31f..9489a76 100644 --- a/src/com/rhizome/example/dao/EmployeeDAO.java +++ b/src/com/rhizome/example/dao/EmployeeDAO.java @@ -182,4 +182,49 @@ public class EmployeeDAO { DbUtil.closeStatement(this.stmt); } } + + /** + * 社員テーブルの社員IDに合致する情報を更新する + * + * @param id - 社員ID + * @param name - 社員名 + * @param kana - 社員名カナ + * @param mail - メールアドレス + * @param pass - パスワード + * @param depId - 部署ID + * @throws ClassNotFoundException + * @throws SQLException + * @throws NumberFormatException + + */ + public void empUpdate​(int id, String name, String kana, String mail, String pass, int depId) + throws ClassNotFoundException, SQLException, NumberFormatException { + StringBuilder sql = new StringBuilder(); + sql.append(" UPDATE "); + sql.append(" " + TBL_NAME); + sql.append(" SET "); + sql.append(" " + NM_EMPLOYEE); + sql.append(" = '" + name + " ' "); + sql.append(" , " + KN_EMPLOYEE); + sql.append(" = '" + kana + " ' "); + sql.append(" , " + MAIL_ADDRESS); + sql.append(" = '" + mail + " ' "); + sql.append(" , " + PASSWORD); + sql.append(" = '" + pass + " ' "); + sql.append(" , " + ID_DEPARTMENT); + sql.append(" = " + depId); + sql.append(" WHERE "); + sql.append(" " + ID_EMPLOYEE); + sql.append(" = "); + sql.append(" " + id); + + try { + this.stmt = con.prepareStatement(sql.toString()); + stmt.executeUpdate(); + System.out.println("更新が完了しました"); + } finally { + DbUtil.closeStatement(this.stmt); + } + + } } diff --git a/src/com/rhizome/example/main/Main.java b/src/com/rhizome/example/main/Main.java index b3c35ac..9afbae3 100644 --- a/src/com/rhizome/example/main/Main.java +++ b/src/com/rhizome/example/main/Main.java @@ -57,6 +57,7 @@ public class Main { empInsert​(); break; case "3": + empUpdate​(); break; case "4": empDelete​(); @@ -72,6 +73,35 @@ public class Main { } } + /** + * 社員テーブルの社員IDに合致する情報を更新する + * + * @throws ClassNotFoundException + * @throws SQLException + * @throws NumberFormatException + */ + public static void empUpdate​() + throws ClassNotFoundException, SQLException, NumberFormatException { + Connection con = DbUtil.getConnection(); + EmployeeDAO empDao = new EmployeeDAO(con); + int id = Integer.parseInt(inputCheck("ID", true)); + + if (empDao.selectById​(id).size() == 0) { + return; + } + String name = inputCheck("社員名", false); + String kana = inputCheck("フリガナ", false); + String mail = inputCheck("メールアドレス", false); + String pass = inputCheck("パスワード", false); + int depId = Integer.parseInt(inputCheck("部署ID", true)); + + try { + empDao.empUpdate​(id, name, kana, mail, pass, depId); + } finally { + DbUtil.closeConnection(empDao.con); + } + } + /** * 社員テーブルに指定された情報を新規登録する * @throws NumberFormatException