[英]Textbox value from JSP is unable to insert into the database
我想將文本框值插入數據庫。 但是,只有第一個文本框才能插入數據庫。 無法將第二個文本框值插入數據庫。 (它插入一個空白列)。
下圖是數據庫中顯示的數據。 如您所見,只有第一個練習顯示數字“ 5”。 我希望兩個練習都能夠查看它。
JSP代碼
<%
String[] id = request.getParameterValues("assignchkbox");
String userId = request.getParameter("UserID");
String arm = request.getParameter("Arm");
String armNumber = request.getParameter("ArmNumber");
String leg = request.getParameter("Leg");
String legNumber = request.getParameter("LegNumber");
out.println("<tr>");
out.println("<td style='width: 10%'>");
out.println(userId);
out.println("</td>");
out.println("<td style='width: 10%'>");
out.println(arm);
out.println("</td>");
out.println("<td style='width: 10%'>");
out.println(armNumber);
out.println("</td>");
out.println("<td style='width: 10%'>");
out.println(leg);
out.println("</td>");
out.println("<td style='width: 10%'>");
out.println(legNumber);
out.println("</td>");
out.println("</tr>");
int count =0;
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
String connURL = "jdbc:mysql://99/hi?user=00&password=000";
conn = DriverManager.getConnection(connURL);
String sql="Insert into assign(UserID, Arm ,ArmNumber,Leg,LegNumber) Values(?,?,?,?,?)";
PreparedStatement pstmt=conn.prepareStatement(sql);
pstmt.setString (1,userId);
pstmt.setString (2,arm);
pstmt.setString (3,armNumber);
pstmt.setString (4,leg);
pstmt.setString (5,legNumber);
int rec=pstmt.executeUpdate();
if (rec==1)
count++;
%>
<form action="assign.jsp" method="post">
<label><%=count%> assigned!!</label>
<td style width="50%">
<p><input type="submit" value="Return" name="ReturnBtn" /></p>
</form>
<%
conn.close();
}
catch(Exception e){
e.printStackTrace();
}
finally{
}
%>
Arm JSP代碼
<table border='4' class="f">
<tr>
<th>ID</th>
<th>Arm Exercises</th>
<th>Count</th>
<th colspan='1'>✅</th>
</tr>
<%
String sql1="";
{
sql1 = "select * from exercise1";
PreparedStatement pstmt1=conn.prepareStatement(sql1);
ResultSet rs1 = pstmt1.executeQuery();
while(rs1.next()){
String id = rs1.getString("ID");
String arm = rs1.getString("Arm");
out.println("<tr>");
out.println("<td style = 'width: 3%'>");
out.println(id);
out.println("</td>");
out.println("<td style = 'width: 90%'>");
out.println(arm);
out.println("</td>");
%>
<td>
<input name="ArmNumber" id="ArmNumber" type="text" size="2"/>
</td>
<td style="width: 5%" class="k"><input class="mychkbox" type="checkbox"
value="<%=arm%>" form="multipleAssign" name="Arm" /></td>
<%
out.println("</tr>");
}
conn.close();
}
%>
</form>
</table>
</div>
</div>
String[] id = request.getParameterValues("assignchkbox");
String userId = request.getParameter("UserID");
String arm[] = request.getParameterValues("Arm");
String armNumber = request.getParameter("ArmNumber");
String leg = request.getParameter("Leg");
String legNumber = request.getParameter("LegNumber");
out.println("<tr>");
out.println("<td style='width: 10%'>");
out.println(userId);
out.println("</td>");
out.println("<td style='width: 10%'>");
out.println(arm);
out.println("</td>");
out.println("<td style='width: 10%'>");
out.println(armNumber);
out.println("</td>");
out.println("<td style='width: 10%'>");
out.println(leg);
out.println("</td>");
out.println("<td style='width: 10%'>");
out.println(legNumber);
out.println("</td>");
out.println("</tr>");
int count =0;
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
String connURL = "jdbc:mysql://99/hi?user=00&password=000";
conn = DriverManager.getConnection(connURL);
String sql="Insert into assign(UserID, Arm ,ArmNumber,Leg,LegNumber) Values(?,?,?,?,?)";
PreparedStatement pstmt=conn.prepareStatement(sql);
for(String chk:arm){
pstmt.setString (1,userId);
pstmt.setString (2,chk);
pstmt.setString (3,armNumber);
pstmt.setString (4,leg);
pstmt.setString (5,legNumber);
preparedStatement.addBatch();
}
preparedStatement.executeBatch();
}catch(SQLException e){
e.printStackTrace();
}
嘗試這個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.