車の価格を更新しようとしていますが、データベース内の項目の 1 つしか更新できません。私の論理は間違っていると思います。
誰かがそれを解決する方法を私に提案できますか.
MySQL テーブル:
+-----------+-----------+
| car | price |
+-----------+-----------+
| Bmw | 434312 |
| Audi | 222121 |
| Mercedes | 33333 |
+-----------+-----------+
HTML コード:
<td><input TYPE="text" NAME="Bmw"></td>
<td><input TYPE="text" NAME="Audi"></td>
<td><input TYPE="text" NAME="Mercedes"></td>
Java コード:
String Bmw=(String)session.getAttribute("Bmw");
session.setAttribute("Bmw",Bmw);
Bmw=request.getParameter("Bmw");
String Audi=(String)session.getAttribute("Audi");
session.setAttribute("Audi",Audi);
Audi=request.getParameter("Audi");
String Mercedes=(String)session.getAttribute("Mercedes");
session.setAttribute("Mercedes",Mercedes);
Mercedes=request.getParameter("Mercedes");
try {
Connection conn = null;
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","root");
Statement st = null;
session.setAttribute("st",st);
st = conn.createStatement();
String sqlqueryCommand = "select * from item";
ResultSet results = st.executeQuery(sqlqueryCommand);
while(results.next()) {
if(request.getParameter("Bmw")!=null && results.getString("car").equals("Bmw")) {
st.executeUpdate("update item set price='"+Bmw+"' where car='"+results.getString("car")+"'");
conn.commit();
}
if(request.getParameter("Audi")!=null && results.getString("car").equals("Audi")) {
st.executeUpdate("update item set price='"+Audi+"' where car='"+results.getString("car")+"'");
conn.commit();
}
if(request.getParameter("Mercedes")!=null && results.getString("car").equals("Mercedes")) {
st.executeUpdate("update item set price='"+Mercedes+"' where car='"+results.getString("car")+"'");
conn.commit();
}
}
conn.close();
}
catch(Exception e) {
System.out.println(e);
}