質問編集履歴

4

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

2018/05/09 06:24

投稿

Mr.Chrome
Mr.Chrome

スコア6

test CHANGED
File without changes
test CHANGED
@@ -206,35 +206,57 @@
206
206
 
207
207
 
208
208
 
209
+ public static void update() throws IOException {
210
+
211
+ BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
212
+
213
+
214
+
215
+ Connection connection = null;
216
+
217
+ PreparedStatement preparedStatement = null;
218
+
219
+ System.out.println("メニュー番号を入力してください:");
220
+
221
+ String str = br.readLine();
222
+
223
+ int no3 = Integer.parseInt(str);
224
+
225
+ switch (no3) {
226
+
227
+ case 3:
228
+
229
+ try {
230
+
209
- System.out.println("更新する社員の社員IDを入力してください: ");
231
+ System.out.println("更新する社員の社員IDを入力してください: ");
210
-
232
+
211
- String empID = br.readLine();
233
+ String empID = br.readLine();
212
-
213
-
214
-
234
+
235
+
236
+
215
- String cnt_sql = "SELECT * from employee WHERE emp_id = ?";
237
+ String cnt_sql = "SELECT * from employee WHERE emp_id = ?";
238
+
216
-
239
+ connection = DBManager.getConnection();
217
-
218
-
240
+
219
- PreparedStatement statement = connection.prepareStatement(cnt_sql);
241
+ preparedStatement = connection.prepareStatement(cnt_sql);
220
-
242
+
221
- statement.setString(1, empID);
243
+ preparedStatement.setString(1, empID);
222
-
244
+
223
- ResultSet result = statement.executeQuery();
245
+ ResultSet result = preparedStatement.executeQuery();
224
-
225
-
226
-
246
+
247
+
248
+
227
- int colCount = result.getMetaData().getColumnCount();
249
+ int colCount = result.getMetaData().getColumnCount();
228
-
229
-
230
-
250
+
251
+
252
+
231
- if(colCount == no3){
253
+ if(colCount == 0){
232
254
 
233
255
  System.out.println("該当する社員は登録されていません");
234
256
 
235
- break;
257
+ break;
236
-
258
+
237
- }
259
+ }
238
260
 
239
261
  実行結果
240
262
 
@@ -242,7 +264,17 @@
242
264
 
243
265
  更新する社員の社員IDを入力してください: 5
244
266
 
267
+ 社員名:
268
+
269
+
270
+
245
- Exception in thread "main" java.lang.NullPointerException
271
+ 性別(男性:1、女性:2):
272
+
273
+
274
+
275
+
276
+
277
+
246
278
 
247
279
 
248
280
 

3

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

2018/05/09 06:24

投稿

Mr.Chrome
Mr.Chrome

スコア6

test CHANGED
File without changes
test CHANGED
@@ -204,6 +204,8 @@
204
204
 
205
205
  ### 試したこと
206
206
 
207
+
208
+
207
209
  System.out.println("更新する社員の社員IDを入力してください: ");
208
210
 
209
211
  String empID = br.readLine();
@@ -228,7 +230,7 @@
228
230
 
229
231
  if(colCount == no3){
230
232
 
231
-    System.out.println("該当する社員は登録されていません");
233
+ System.out.println("該当する社員は登録されていません");
232
234
 
233
235
  break;
234
236
 
@@ -244,8 +246,6 @@
244
246
 
245
247
 
246
248
 
247
-
248
-
249
249
  ### 補足情報(FW/ツールのバージョンなど)
250
250
 
251
251
 

2

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

2018/05/09 05:14

投稿

Mr.Chrome
Mr.Chrome

スコア6

test CHANGED
File without changes
test CHANGED
@@ -204,37 +204,45 @@
204
204
 
205
205
  ### 試したこと
206
206
 
207
-
207
+ System.out.println("更新する社員の社員IDを入力してください: ");
208
+
208
-
209
+ String empID = br.readLine();
210
+
211
+
212
+
213
+ String cnt_sql = "SELECT * from employee WHERE emp_id = ?";
214
+
215
+
216
+
217
+ PreparedStatement statement = connection.prepareStatement(cnt_sql);
218
+
219
+ statement.setString(1, empID);
220
+
209
- int cnt = preparedStatement.executeUpdate();
221
+ ResultSet result = statement.executeQuery();
222
+
223
+
224
+
210
-
225
+ int colCount = result.getMetaData().getColumnCount();
211
-
212
-
226
+
227
+
228
+
213
- if (cnt == 0) {
229
+ if(colCount == no3){
214
-
230
+
215
- System.out.println("該当する社員は登録されていません");
231
+    System.out.println("該当する社員は登録されていません");
216
-
232
+
217
- }else if(cnt == 1){
233
+ break;
218
-
219
- System.out.println("社員情報を更新しました");
234
+
220
-
221
- }
235
+ }
222
-
236
+
223
- 結果
237
+ 実行結果
224
238
 
225
239
  メニュー番号を入力してください:3
226
240
 
227
- 更新する社員の社員IDを入力してください:5
241
+ 更新する社員の社員IDを入力してください: 5
228
-
229
- 社員名:田中博人
242
+
230
-
231
- 性別(男性:1、女性:2):1
232
-
233
- 生年月日(西暦年/月/日):1990/12/12
243
+ Exception in thread "main" java.lang.NullPointerException
234
-
235
- 部署ID(1:営業部、2:経理部、3:総務部):1
244
+
236
-
237
- 該当する社員は登録されていません
245
+
238
246
 
239
247
 
240
248
 

1

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

2018/05/09 05:11

投稿

Mr.Chrome
Mr.Chrome

スコア6

test CHANGED
File without changes
test CHANGED
@@ -220,6 +220,22 @@
220
220
 
221
221
  }
222
222
 
223
+ 結果
224
+
225
+ メニュー番号を入力してください:3
226
+
227
+ 更新する社員の社員IDを入力してください:5
228
+
229
+ 社員名:田中博人
230
+
231
+ 性別(男性:1、女性:2):1
232
+
233
+ 生年月日(西暦年/月/日):1990/12/12
234
+
235
+ 部署ID(1:営業部、2:経理部、3:総務部):1
236
+
237
+ 該当する社員は登録されていません
238
+
223
239
 
224
240
 
225
241
  ### 補足情報(FW/ツールのバージョンなど)