簡體   English   中英

JSP的文本框值無法插入數據庫

[英]Textbox value from JSP is unable to insert into the database

我想將文本框值插入數據庫。 但是,只有第一個文本框才能插入數據庫。 無法將第二個文本框值插入數據庫。 (它插入一個空白列)。

下圖是數據庫中顯示的數據。 如您所見,只有第一個練習顯示數字“ 5”。 我希望兩個練習都能夠查看它。

MySQL的

HTML

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'>&#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();
        }

嘗試這個。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM