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

質問編集履歴

3

コード修正

2020/05/18 12:25

投稿

poporian_a
poporian_a

スコア8

title CHANGED
File without changes
body CHANGED
@@ -35,7 +35,7 @@
35
35
       //データベース接続
36
36
  ConnectionDb db = new ConnectionDb();
37
37
  db.conn();
38
- //商品リスト一覧表示のための配列リスト
38
+ //商品リスト一覧表示のための配列リスト_このリストに在庫データあり
39
39
  List<Stock> list = new ArrayList<Stock>();
40
40
 
41
41
  String query = "SELECT S.ITEM_ID,ITEM_NAME,STOCK,PRICE "

2

文法の修正

2020/05/18 12:25

投稿

poporian_a
poporian_a

スコア8

title CHANGED
File without changes
body CHANGED
@@ -32,10 +32,10 @@
32
32
 
33
33
 
34
34
  try {
35
-
35
+      //データベース接続
36
36
  ConnectionDb db = new ConnectionDb();
37
37
  db.conn();
38
-
38
+ //商品リスト一覧表示のための配列リスト
39
39
  List<Stock> list = new ArrayList<Stock>();
40
40
 
41
41
  String query = "SELECT S.ITEM_ID,ITEM_NAME,STOCK,PRICE "
@@ -60,6 +60,7 @@
60
60
 
61
61
  req.setAttribute("stocks", list);
62
62
 
63
+ //入力個数が在庫を上回っていなければtrue↓
63
64
  boolean isOver = false;
64
65
  for(int i=0; i < list.size(); i++) {
65
66
  if( list.get(i).getStock() > Integer.parseInt(values[i])) {

1

全コード表示

2020/05/18 12:23

投稿

poporian_a
poporian_a

スコア8

title CHANGED
File without changes
body CHANGED
@@ -10,9 +10,58 @@
10
10
  ### 該当のソースコード
11
11
 
12
12
  ```ここに言語名を入力
13
+ @WebServlet("/StockServlet")
14
+ public class StockServlet extends HttpServlet {
15
+ private static final long serialVersionUID = 1L;
16
+
17
+ protected void doPost(HttpServletRequest req,
18
+ HttpServletResponse res)
19
+ throws ServletException, IOException {
20
+
21
+ //入力された注文個数を取得
22
+ req.setCharacterEncoding("UTF-8");
23
+ //商品ごとに違うので配列を作る
24
+ List<Number> no = new ArrayList<Number>();
25
+
26
+ String[] values=req.getParameterValues("number");
27
+ for(int i=0;i<values.length;i++)
28
+ {
29
+ int number = Integer.parseInt(values[i]);
30
+ no.add(new Number(number));
31
+ }
32
+
33
+
34
+ try {
35
+
36
+ ConnectionDb db = new ConnectionDb();
37
+ db.conn();
38
+
39
+ List<Stock> list = new ArrayList<Stock>();
40
+
41
+ String query = "SELECT S.ITEM_ID,ITEM_NAME,STOCK,PRICE "
42
+ + "FROM PRODUCT_NAME AS N "
43
+ + "JOIN PRODUCT_STOCK AS S "
44
+ + "ON N.ITEM_ID = S.ITEM_ID "
45
+ + "JOIN PRODUCT_PRICE AS P "
46
+ + "ON S.ITEM_ID = P.ITEM_ID ";
47
+ PreparedStatement stmt = db.con.prepareStatement(query);
48
+ ResultSet rs = stmt.executeQuery();
49
+
50
+ int counter = 0;
51
+ while (rs.next()) {
52
+ String itemName = rs.getString("ITEM_NAME");
53
+ int price = rs.getInt("PRICE");
54
+ int stock = rs.getInt("STOCK");
55
+ String itemId = rs.getString("ITEM_ID");
56
+ Number numbr = no.get(counter);
57
+ list.add(new Stock(stock,itemName,price,itemId,numbr));
58
+ counter++;
59
+ }
60
+
61
+ req.setAttribute("stocks", list);
62
+
13
- boolean isOver = false;
63
+ boolean isOver = false;
14
64
  for(int i=0; i < list.size(); i++) {
15
- //在庫(stock)が注文個数(values)を上回っていればtrue↓
16
65
  if( list.get(i).getStock() > Integer.parseInt(values[i])) {
17
66
  isOver = true;
18
67
  }
@@ -31,6 +80,13 @@
31
80
 
32
81
  rs.close();
33
82
  stmt.close();
83
+
84
+ } catch (SQLException e) {
85
+ e.printStackTrace();
86
+ }
87
+ }
88
+ }
89
+
34
90
  ```
35
91
 
36
92