teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

4

いろいろ調整してエラーはなくなりましたか、実行結果はこんな感じです。

2018/05/09 06:24

投稿

Mr.Chrome
Mr.Chrome

スコア6

title CHANGED
File without changes
body CHANGED
@@ -102,26 +102,42 @@
102
102
 
103
103
  ### 試したこと
104
104
 
105
- System.out.println("更新する社員の社員IDを入力してください: ");
105
+ public static void update() throws IOException {
106
- String empID = br.readLine();
106
+ BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
107
107
 
108
+ Connection connection = null;
109
+ PreparedStatement preparedStatement = null;
110
+ System.out.println("メニュー番号を入力してください:");
111
+ String str = br.readLine();
112
+ int no3 = Integer.parseInt(str);
113
+ switch (no3) {
114
+ case 3:
115
+ try {
108
- String cnt_sql = "SELECT * from employee WHERE emp_id = ?";
116
+ System.out.println("更新する社員の社員IDを入力してください: ");
117
+ String empID = br.readLine();
109
118
 
119
+ String cnt_sql = "SELECT * from employee WHERE emp_id = ?";
120
+ connection = DBManager.getConnection();
110
- PreparedStatement statement = connection.prepareStatement(cnt_sql);
121
+ preparedStatement = connection.prepareStatement(cnt_sql);
111
- statement.setString(1, empID);
122
+ preparedStatement.setString(1, empID);
112
- ResultSet result = statement.executeQuery();
123
+ ResultSet result = preparedStatement.executeQuery();
113
124
 
114
- int colCount = result.getMetaData().getColumnCount();
125
+ int colCount = result.getMetaData().getColumnCount();
115
126
 
116
- if(colCount == no3){
127
+ if(colCount == 0){
117
128
  System.out.println("該当する社員は登録されていません");
118
- break;
129
+ break;
119
- }
130
+ }
120
131
  実行結果
121
132
  メニュー番号を入力してください:3
122
133
  更新する社員の社員IDを入力してください: 5
123
- Exception in thread "main" java.lang.NullPointerException
134
+ 社員名:
124
135
 
136
+ 性別(男性:1、女性:2):
137
+
138
+
139
+
140
+
125
141
  ### 補足情報(FW/ツールのバージョンなど)
126
142
 
127
143
  Oracleの演習課題で社員管理システムを作っています。

3

教えてもらったコードを試してみました。

2018/05/09 06:24

投稿

Mr.Chrome
Mr.Chrome

スコア6

title CHANGED
File without changes
body CHANGED
@@ -101,6 +101,7 @@
101
101
  ```
102
102
 
103
103
  ### 試したこと
104
+
104
105
  System.out.println("更新する社員の社員IDを入力してください: ");
105
106
  String empID = br.readLine();
106
107
 
@@ -113,7 +114,7 @@
113
114
  int colCount = result.getMetaData().getColumnCount();
114
115
 
115
116
  if(colCount == no3){
116
-    System.out.println("該当する社員は登録されていません");
117
+ System.out.println("該当する社員は登録されていません");
117
118
  break;
118
119
  }
119
120
  実行結果
@@ -121,7 +122,6 @@
121
122
  更新する社員の社員IDを入力してください: 5
122
123
  Exception in thread "main" java.lang.NullPointerException
123
124
 
124
-
125
125
  ### 補足情報(FW/ツールのバージョンなど)
126
126
 
127
127
  Oracleの演習課題で社員管理システムを作っています。

2

教えてもらったコードを試してみました。

2018/05/09 05:14

投稿

Mr.Chrome
Mr.Chrome

スコア6

title CHANGED
File without changes
body CHANGED
@@ -101,23 +101,27 @@
101
101
  ```
102
102
 
103
103
  ### 試したこと
104
+ System.out.println("更新する社員の社員IDを入力してください: ");
105
+ String empID = br.readLine();
104
106
 
105
- int cnt = preparedStatement.executeUpdate();
107
+ String cnt_sql = "SELECT * from employee WHERE emp_id = ?";
106
108
 
109
+ PreparedStatement statement = connection.prepareStatement(cnt_sql);
110
+ statement.setString(1, empID);
111
+ ResultSet result = statement.executeQuery();
112
+
113
+ int colCount = result.getMetaData().getColumnCount();
114
+
107
- if (cnt == 0) {
115
+ if(colCount == no3){
108
- System.out.println("該当する社員は登録されていません");
116
+    System.out.println("該当する社員は登録されていません");
109
- }else if(cnt == 1){
117
+ break;
110
- System.out.println("社員情報を更新しました");
111
118
  }
112
- 結果
119
+ 実行結果
113
120
  メニュー番号を入力してください:3
114
- 更新する社員の社員IDを入力してください:5
121
+ 更新する社員の社員IDを入力してください: 5
115
- 社員名:田中博人
116
- 性別(男性:1、女性:2):1
117
- 生年月日(西暦年/月/日):1990/12/12
122
+ Exception in thread "main" java.lang.NullPointerException
118
- 部署ID(1:営業部、2:経理部、3:総務部):1
119
- 該当する社員は登録されていません
120
123
 
124
+
121
125
  ### 補足情報(FW/ツールのバージョンなど)
122
126
 
123
127
  Oracleの演習課題で社員管理システムを作っています。

1

試したことに対する結果の追加

2018/05/09 05:11

投稿

Mr.Chrome
Mr.Chrome

スコア6

title CHANGED
File without changes
body CHANGED
@@ -109,6 +109,14 @@
109
109
  }else if(cnt == 1){
110
110
  System.out.println("社員情報を更新しました");
111
111
  }
112
+ 結果
113
+ メニュー番号を入力してください:3
114
+ 更新する社員の社員IDを入力してください:5
115
+ 社員名:田中博人
116
+ 性別(男性:1、女性:2):1
117
+ 生年月日(西暦年/月/日):1990/12/12
118
+ 部署ID(1:営業部、2:経理部、3:総務部):1
119
+ 該当する社員は登録されていません
112
120
 
113
121
  ### 補足情報(FW/ツールのバージョンなど)
114
122