0

の行を更新しようとしています。データの挿入にmysql table使用しています。html formHTMLフォーム属性valueでは、データベースからの既存のデータを使用しています。

Edit.jsp

<form action="Update.jsp">
                <%  Class.forName("com.mysql.jdbc.Driver").newInstance();
                    Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");
                    Statement st = con.createStatement();
                    ResultSet rs = st.executeQuery("select u.login,i.name,i.surname,i.age,i.tel,i.email,a.street,a.town,a.zip,ul.name,t.name from users u join info i on i.user_id=u.user_id join user_level ul on ul.ulevel=u.ulevel join teams t on t.team_id=u.team_id join adress a on a.info_id=i.info_id where u.login='" + session.getAttribute("uzivatel") + "'");
                    while (rs.next()) {
                %>

                <div class="well well-large">
                    <font size="2"><b>Welcome, </b></font><font color="RED"><i><%= session.getAttribute("uzivatel")%></i></font><br>
                    <b>Name:</b> <input type="text" name="name" value="<%= rs.getString(2)%>"><input type="text" name="surname" value="<%= rs.getString(3)%>"> <br>
                    <b>Age:</b> <input type="text" name="age" value="<%= rs.getString(4)%>"><br>
                    <b>Telephone:</b> <input type="text" name="tel" value="0<%= rs.getString(5)%>"><br>
                    <b>E-mail:</b> <input type="text" name="email" value="<%= rs.getString(6)%>"><br>
                    <b>Adress:</b> <input type="text" name="street" value="<%= rs.getString(7)%>"><input type="text" name="town" value="<%= rs.getString(8)%>"><input type="text" name="zip" value="<%= rs.getString(9)%>"><br>
                    <b>User level:</b> <%= rs.getString(10)%><br>
                    <b>Team:</b> <%= rs.getString(11)%><br>
                    <input type="submit" name="Submit" value="Update" />
                </div>
            </form>

Update.jsp

<%
                String name = request.getParameter("name");
                String surname = request.getParameter("surname");
                String age = request.getParameter("age");
                String telephone = request.getParameter("tel");
                String email = request.getParameter("email");
                String street = request.getParameter("street");
                String town = request.getParameter("town");
                String zip = request.getParameter("zip");

                try {
                    Connection conn = null;
                    Class.forName("com.mysql.jdbc.Driver").newInstance();
                    conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");
                    Statement st1 = null;
                    st1 = conn.createStatement();
                    System.out.println(session.getAttribute("uzivatel"));
                    st1.executeUpdate("UPDATE users JOIN info ON users.user_id = info.user_id"
                            + " JOIN adress ON info.info_id = adress.info_id"
                            + "SET info.name = '"+name+"',info.surname = '"+surname+"',"
                            + "info.age = '"+age+"',info.tel = '"+telephone+"',info.email = '"+email+"',"
                            + "adress.street = '"+street+"',adress.town = '"+town+"',adress.zip = '"+zip+"',"
                            + "WHERE users.login ='" + session.getAttribute("uzivatel") + "'  ");
                    response.sendRedirect("AdministrationControlPanel.jsp");
                } catch (Exception e) {
                    System.out.println(e.getMessage());
                }
            %>

[送信] ボタンを押すと、リダイレクトされてUpdate.jsp何も変更されませんでした。

4

2 に答える 2

0

ページ update.jsp を呼び出すよりも、jQuery を使用することをお勧めします。その時にjQueryを使用すると、パラメーターを使用してupdate.jspページにデータを送信し、そのページから応答を取得して、jQueryからすべてのテーブルデータを取得できても、ページに印刷できます

それは非常に簡単です.これがあなたを助けることを願っています..サンプルの例については、次のURLを見てください

デモ
http://www.roseindia.net/tutorial/jquery/jqDatabaseConnect.html

http://api.jquery.com/jQuery.post/

于 2013-01-31T08:10:45.120 に答える