質問編集履歴
3
コード修正
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
文法の修正
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
全コード表示
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
|
|