社員データベースに入っているデータを削除する機能を作成したいです。
・ResultSet rs =pStmt.executeQuery();のところがエラーになり調べたところ、executeUpdate()を使用するべきだとわかったのですが、これを入れると「int から ResultSet には変換できません」と出てきて、結局どうしたらいいのかわかりません。
・★①のところ。なんと書けば、削除該当の社員番号が出力されるのでしょうか。
・★②のところ。YかNをキーボード入力させて、inputにとりこみたいのですが、自分なりに書いてみてもエラーになってしまい、よくわかりませんでした。
まだ勉強したばかりである上に、理解が浅いまま元々ある検索機能やログイン機能を見ながら書いたということもあり、頑張ってみたけど多分いろいろ間違えているんだろうな・・・と思っています。
よろしくお願いいたします。
Java
1public class MainSystem{ 2 public static void main(String[] args) { 3 // TODO 自動生成されたメソッド・スタブ 4 5 String jdbcUrl="jdbc:mysql://localhost/eimsdb?serverTimezone=JST";//データベースに接続するためのURL 6 String user="eimsuser";//データベースに接続するためのユーザ名 7 String passwd="eimspass";//データベースに接続するためパスワード 8 9 //接続メソッド 10 try(Connection con = DriverManager.getConnection(jdbcUrl,user,passwd)){ 11 12 boolean fact=true; //true = ログインが完了していない 13 while(fact) { 14 ArrayList<String> inf = LoginGamen.getLoginInfo(); //ログイン入力情報の入れ子 15 int empno = Integer.parseInt(inf.get(0)); 16 String password = inf.get(1); 17 18 fact = Login.doLogin(con, empno, password); 19 } 20 21 fact = true; 22 String function; 23 String input = null; 24 25 if(Login.getDeptname().equals("人事部")){ 26 JinjiDAO jinji =new JinjiDAO(con); 27 while(fact) { 28 function = JinjiDAO.showFunctions(); 29 if(function.equals("検索")) { 30 ArrayList<Syain> syain =jinji.doKensaku(); 31 32 for(Syain s : syain) { 33 System.out.println(s); 34 } 35 36 }else if(function.equals("追加")) { 37 38 }else if(function.equals("削除")) { 39 ArrayList<Syain> syain =jinji.doSakuzyo(); 40 System.out.println("以下の社員を削除しますか?");//確認画面 41 System.out.println("社員番号:" + ★①該当の社員番号); 42 System.out.println("氏:"); 43 System.out.println("名"); 44 System.out.println("氏(カナ):"); 45 System.out.println("名(カナ):"); 46 System.out.println("パスワード:"); 47 System.out.println("性別:"); 48 System.out.println("部署コード:"); 49 ★②YかNをキーボード入力させて、inputにとりこみたい 50 System.out.println("(YorN):"); 51 if(input.equals("Y")||input.equals("N")) { 52 break; 53 }else { 54 System.out.println("YまたはNを入力してください"); 55 } 56 } 57 } 58 59 }else if(function.equals("変更")) { 60 61 } 62 input = LogoutGamen.doLogout(); 63 if(input.equals("Y")) { 64 break; 65 }else { 66 SyainDAO syain = new SyainDAO(con); 67 while(fact) { 68 function=FunctionListSyain.showFunctions(); 69 if(function.equals("検索")) { 70 ArrayList<Syain> sList =syain.doKensaku(); 71 72 for(Syain s : sList) { 73 System.out.println(s); 74 } 75 } 76 input= LogoutGamen.doLogout(); 77 if(input.equals("Y")){ 78 break; 79 } 80 81 82 } 83 } 84 }catch(SQLException e) { 85 e.printStackTrace(); 86 } 87 } 88}
Java
1public class Sakuzyo { 2 3 public static String createSql() { 4 StringBuilder sql = new StringBuilder(); 5 sql.append("delete from employee whele emp = "); 6 try { 7 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 8 9 System.out.print("削除したい社員番号を入力してください"); 10 System.out.println("->"); 11 String empno = br.readLine(); 12 sql.append(empno); 13 }catch(IOException e) { 14 e.printStackTrace(); 15 } 16 return sql.toString(); 17 } 18}
Java
1public class SyainDAO { 2 private Connection con = null; 3 4 public SyainDAO(Connection con) { 5 this.con = con; 6 } 7 public ArrayList<Syain> doSakuzyo() { 8 ArrayList<Syain> syainList = new ArrayList<>(); 9 String sql = Sakuzyo.createSql(); 10 11 try { 12 PreparedStatement pStmt = con.prepareStatement(sql); 13 ResultSet rs =pStmt.executeQuery(); //sqlを実行し、rsに格納 14 while (rs.next()) { 15 int empno = rs.getInt("empno"); 16 String lname = rs.getString("lname"); 17 String fname = rs.getString("fname"); 18 String lkana = rs.getString("lkana"); 19 String fkana = rs.getString("fkana"); 20 String password = rs.getString("password"); 21 int gender = rs.getInt("gender"); 22 int deptno = rs.getInt("deptno"); 23 String deptname = rs.getString("deptname"); 24 25 Busyo busyo = new Busyo(deptno, deptname); 26 syainList.add(new Syain(empno, lname, fname, lkana, fkana, password, gender, deptno, busyo)); 27 28 } 29 } catch (SQLException e) { 30 e.printStackTrace(); 31 } 32 return syainList; 33 } 34}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/21 11:53
2021/06/21 11:59
2021/06/21 12:27
2021/06/21 12:33
2021/06/21 12:34
2021/06/21 12:49
2021/06/21 12:51
2021/06/21 13:04
2021/06/21 13:34