java - jsp通过提交表单更新数据库行

时间:2017-01-11 15:39:46

标签: java html sql jsp sql-update

我正在尝试使用提交按钮更新数据库中的数据,女巫位于jsp页面上,该页面显示基于您在login.jsp中输入的姓名和数据的数据。

validationForDatabase.jsp显示来自表pacijent的数据,基于名称和姓氏在另一个jsp页面中输入。字段名称和姓氏是只读的,因此您可以查找除了那些文件之外的所有内容,当您创建字符并按下按钮更新时,它应该将您重定向到update.jsp。如果更新成功,您可以将sholud重定向回validationForDatabase.jsp,但不是这样做,而是显示我从else部分输入的数据不正确。 你能否指导我如何解决这个问题,或者采取另一种方式来解决这个问题。

提前致谢

validationForDatabase.jsp

    `
<%

    try{
    String name= request.getParameter("name");   
    String surname= request.getParameter("surname");
    Class.forName("com.mysql.jdbc.Driver");
    Connection conn = DriverManager.getConnection ("jdbc:mysql://localhost:3306/sth","root","");    
    PreparedStatement pst = conn.prepareStatement("Select name,surname from pacijent where name=? and surname=?");
    pst.setString(1, name);
    pst.setString(2, surname);
    ResultSet rs = pst.executeQuery();                        
    if(rs.next())
    { 
    out.println("Name of the patient :  "+name);
    out.println("<br/>Surname of the patient :  "+surname);
    HttpSession sesija = request.getSession();
    sesija.setAttribute("name", name);
    sesija.setAttribute("surname", surname);

    %>

    <%@page import="java.sql.DriverManager"%>
    <%@page import="java.sql.ResultSet"%>
    <%@page import="java.sql.Statement"%>
    <%@page import="java.sql.Connection"%>

    <%

    String connectionUrl = "jdbc:mysql://localhost:3306/sth";

    try {Class.forName("com.mysql.jdbc.Driver");} 
    catch (ClassNotFoundException e) {e.printStackTrace();}

    Connection connection = null;
    Statement statement = null;
    ResultSet resultSet = null;

    %>

        <form action="Update.jsp" method="get">

        <%

        try{ 
        connection = DriverManager.getConnection ("jdbc:mysql://localhost:3306/sth","root","");
        statement=connection.createStatement();
        String sql ="SELECT name,father,surname,birth,adress,phone,email,notes "+ "FROM pacijent where name='"+sesija.getAttribute("name")+"'and surname='"+surname+"';";
        resultSet = statement.executeQuery(sql);
            while(resultSet.next()){

            %> 

        <p align="center"><%= sesija.getAttribute("name")%><%= sesija.getAttribute("surname")%></p>

        <p><label  class="uname">name</label><input name="name" readonly value="<%=sesija.getAttribute("name") %>"/></p>
        <p><label  class="uname">father</label><input name="father" value="<%=resultSet.getString("father") %>"/></p>
        <p><label  class="uname">surname</label><input name="surname" readonly value="<%=sesija.getAttribute("surname") %>"/></p>
        <p><label  class="uname">birth</label><input name="birth" value="<%=resultSet.getString("birth") %>"/></p>
        <p><label  class="uname">Adress</label><input name="adress" value="<%=resultSet.getString("adress ") %>"/></p>
        <p><label  class="uname">phone</label><input name="phone" value="<%=resultSet.getString("phone") %>"/></p>
        <p><label  class="uname" > E-mail</label><input name="email" value="<%=resultSet.getString("email") %>"/></p>
        <p><label for="usernamesignup" class="uname">info</label>
        <textarea name="notes" id="a" class="a" rows="4" cols="60" 
        textareaObject.value="text" ><%= resultSet.getString("notes") %></textarea></p>
        <input type="submit" name="Submit" value="Update" />

                                             </form>

            <% 
            }
            connection.close();
            } catch (Exception e) {
            e.printStackTrace();
            }
            sesija.invalidate();
            %>


            <%  
                }
                else{ 
            %>
                       <br/><br/><br/><br/><br/><h1 align="center">Badly entered data</h1> 
                    <%}
               }
               catch(Exception e){       
                   out.println("Error "+e);       
               }      
            %>`

Update.jsp可以重定向,但不会更新数据。

Update.jsp `     &LT;%

            String name=request.getParameter("name");
            String father=request.getParameter("father");
            String surname=request.getParameter("surname");
            String birth=request.getParameter("birth");
            String adress =request.getParameter("adress ");
            String phone=request.getParameter("phone");
            String email=request.getParameter("email");
            String notes=request.getParameter("notes");





            try {
                Connection conn = null;
                Class.forName("com.mysql.jdbc.Driver").newInstance();
                conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/sth", "root", "");
                Statement st1 = null;
                st1 = conn.createStatement();
                HttpSession sesija = request.getSession();
                sesija.setAttribute("name", name);
                System.out.println(sesija.getAttribute(name));
                st1.executeUpdate("UPDATE pacijent SET name= '"+name+"',father= '"+father+"',"
                        + "surname= '"+surname+"',birth= '"+birth+"',adress = '"+adress +"',"
                        + "phone= '"+phone+"',email = '"+email+"',notes = '"+notes+"'"
                        + "WHERE name="+sesija.getAttribute(name));
                response.sendRedirect("validationForDatabase.jsp");
            } catch (Exception e) {
                out.println("Error : " + e);
            }
        %>`

非常感谢。

0 个答案:

没有答案
相关问题