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

回答編集履歴

2

変更

2019/07/19 05:29

投稿

root_jp
root_jp

スコア4666

answer CHANGED
@@ -16,7 +16,7 @@
16
16
  //select文を追加
17
17
  String sql = "SELECT * FROM MUTTER WHERE ID=?";
18
18
  PreparedStatement pStmt = conn.prepareStatement(sql);
19
- pStmt.setInt(1, id); // ここを追記
19
+ pStmt.setInt(1, id); // ここを追記。「パラメータ "#1" がセットされていません」はおそらくこれがないためかと思われます。
20
20
 
21
21
  //select文を実行し、結果表を取得
22
22
  ResultSet rs = pStmt.executeQuery();

1

追記

2019/07/19 05:29

投稿

root_jp
root_jp

スコア4666

answer CHANGED
@@ -5,4 +5,27 @@
5
5
  int id = Integer.parseInt(str);
6
6
  ```
7
7
 
8
- `getParameter`の戻り値の型はStringなので、直接intに代入することはできません。
8
+ `getParameter`の戻り値の型はStringなので、直接intに代入することはできません。
9
+
10
+ ### 追記
11
+ `public List<Mutter> findOne()`がどこから呼ばれているか分からないんですが、
12
+ まずはこのメソッドを、`public List<Mutter> findOne(int id)`に直しましょう
13
+ そして、内容を以下のようにしましょう。
14
+
15
+ ```Java
16
+ //select文を追加
17
+ String sql = "SELECT * FROM MUTTER WHERE ID=?";
18
+ PreparedStatement pStmt = conn.prepareStatement(sql);
19
+ pStmt.setInt(1, id); // ここを追記
20
+
21
+ //select文を実行し、結果表を取得
22
+ ResultSet rs = pStmt.executeQuery();
23
+ ```
24
+
25
+ そして呼び出し時に、リクエストから取得したidを渡して呼びましょう。
26
+
27
+ ```Java
28
+ String str = request.getParameter("id");
29
+ int id = Integer.parseInt(str);
30
+ mutterDao.findOne(id);
31
+ ```