简体   繁体   中英

Textbox value from JSP is unable to insert into the database

I want insert the textbox value into the database. However, only the first textbox is able to insert into the database. Second textbox value could not be inserted into database. (It inserts a blank column instead).

The image below is the data shown in my database. As you can see, only the first exercise shows the number "5". I want both exercises to be able to view it.

MySQL的

HTML

JSP code

<% 
        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 code

<table border='4' class="f">

        <tr>
        <th>ID</th>
        <th>Arm Exercises</th>
        <th>Count</th>
        <th colspan='1'>&#9989;</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();
        }

Try this.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM