社員データベースにある情報を、社員番号を入力すると削除できるプログラムを作っています。
数字以外の文字を入力した場合、「数値に変換できません。」を出力したいのですが、どのようにすればできるのかわかりません。
よろしくお願いいたします。
Java
1 public class SakuzyoGamen { 2 3 4 public static String SakuzyoInfo(KanrisyaDAO zinji) { 5 String input=null; 6 7 try { 8 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 9 ArrayList<Syain> syainList=null;; 10 11 while(true) { 12 System.out.println("削除したい社員の社員番号を入力してください"); 13 input = br.readLine(); 14 if(!input.equals("")) { 15 String sql="select * from employee e join department d on e.deptno =d.deptno where empno="+ Integer.parseInt(input); 16 syainList= zinji.doKensaku(sql); 17 if(syainList.size()!=0) { //該当社員がいなかった場合Whileを繰り返す 18 break; 19 } 20 } 21 } 22 23 Syain s= syainList.get(0); //該当社員をsに入れる 24 25 System.out.println("社員番号:"+s.getEmpno()); 26 System.out.println("氏:"+s.getLname()); 27 System.out.println("名:"+s.getFname()); 28 System.out.println("氏(カナ):"+s.getLkana()); 29 System.out.println("名(メイ):"+s.getFkana()); 30 System.out.println("パスワード"+s.getPassword()); 31 System.out.println("部署コード:"+s.getDeptno()); 32 33 }catch(IOException e) { 34 e.printStackTrace(); 35 } 36 37 String SQL="delete from employee where empno ="+Integer.parseInt(input); 38 39 return SQL; 40 } 41 } 42
Java
1public class MainSystem { 2 3 public static void main(String[] args) { 4 // TODO 自動生成されたメソッド・スタブ 5 6 String jdbcUrl="jdbc:mysql://localhost/eimsdb?serverTimezone=JST";//データベースに接続するためのURL 7 String user="eimsuser";//データベースに接続するためのユーザ名 8 String passwd="eimspass";//データベースに接続するためパスワード 9 10 11 try(Connection con = DriverManager.getConnection(jdbcUrl,user,passwd)){ 12 con.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED); 13 14 boolean fact=true; 15 while(fact) { 16 ArrayList<String> inf =LoginGamen.getLoginInfo(); 17 int empno = Integer.parseInt(inf.get(0)); 18 String password=inf.get(1); 19 20 fact=LoginControler.doLogin(con, empno, password); 21 } 22 23 fact=true; 24 String function; 25 String input=null; 26 if(LoginControler.getDeptname().equals("人事部")){ 27 KanrisyaDAO zinji =new KanrisyaDAO(con); 28 while(fact) { 29 function=FunctionListKanrisya.showFunctions(); 30 if(function.equals("検索")) { 31 ArrayList<Syain> syain =zinji.doKensaku(KensakuGamen.createSql()); 32 33 for(Syain s : syain) { 34 System.out.println(s); 35 } 36 37 }else if(function.equals("追加")) { 38 39 }else if(function.equals("削除")) { 40 con.setAutoCommit(false); 41 try { 42 String sql=SakuzyoGamen.SakuzyoInfo(zinji); 43 44 BufferedReader br =new BufferedReader(new InputStreamReader(System.in)); 45 System.out.println("上記の社員を削除しますか?(Y/N)"); 46 47 while(true) { 48 String yorn =br.readLine(); 49 if(yorn.equals("Y")) { 50 zinji.doSakuzyo(sql); 51 con.commit(); 52 System.out.println("情報の削除に成功しました"); 53 break; 54 }else if(yorn.equals("N")) { 55 System.out.println("情報は削除されませんでした"); 56 break; 57 }else { 58 System.out.println("YまたはNを入力してください"); 59 } 60 } 61 }catch(IOException e) { 62 e.printStackTrace(); 63 }catch(SQLException e) { 64 try { 65 con.rollback(); 66 System.out.println("エラーが発生しました"); 67 }catch(SQLException ex) { 68 ex.printStackTrace(); 69 } 70 } 71 if(con != null) { 72 try { 73 con.setAutoCommit(true); 74 }catch(SQLException e) { 75 e.printStackTrace(); 76 } 77 } 78 79 }else if(function.equals("変更")) { 80 con.setAutoCommit(false); 81 try { 82 String sql=HenkouGamen.henkouInfo(zinji);//部署コードのテーブルにない値の時対応してない 83 84 BufferedReader br =new BufferedReader(new InputStreamReader(System.in)); 85 System.out.println("以上のように社員情報を変更しますか(Y/N)"); 86 while(true) { 87 String yorn =br.readLine(); 88 if(yorn.equals("Y")) { 89 zinji.doHenkou(sql); 90 con.commit(); 91 System.out.println("変更は適用されました"); 92 break; 93 }else if(yorn.equals("N")) { 94 System.out.println("変更は適用されませんでした"); 95 break; 96 }else { 97 System.out.println("YまたはNを入力してください"); 98 } 99 } 100 101 }catch(IOException e) { 102 e.printStackTrace(); 103 }catch(SQLException e) { 104 try { 105 con.rollback(); 106 System.out.println("エラーが発生しました"); 107 }catch(SQLException ex) { 108 ex.printStackTrace(); 109 } 110 } 111 112 if(con!=null) { 113 try{ 114 con.setAutoCommit(true); 115 }catch(SQLException e) { 116 e.printStackTrace(); 117 } 118 } 119 } 120 input= LogoutGamen.doLogout(); 121 if(input.equals("Y")){ 122 break; 123 } 124 } 125 }else { 126 SyainDAO syain = new SyainDAO(con); 127 while(fact) { 128 function=FunctionListSyain.showFunctions(); 129 if(function.equals("検索")) { 130 ArrayList<Syain> sList =syain.doKensaku(KensakuGamen.createSql()); 131 132 for(Syain s : sList) { 133 System.out.println(s); 134 } 135 } 136 input= LogoutGamen.doLogout(); 137 if(input.equals("Y")){ 138 break; 139 } 140 141 } 142 } 143 144 }catch(SQLException e) { 145 e.printStackTrace(); 146 } 147 148 } 149 150}
回答1件
あなたの回答
tips
プレビュー