编辑/更新存储在servlet中的输入数据



我制作了一个servlet文件,我在其中添加了插入,删除和查看数据库中的数据。

现在我想添加插入数据的更新,但我无法完成它。由于我在单个文件中添加了整个代码,我不知道如何添加它。有谁能帮我一下吗?等待回复。

        if(req.getParameter("choise")!=null)    {
            nm = req.getParameter("choise");
            idr = "UPDATE student SET rollno = ?, class = ?, mobileno = ? WHERE name ='"+nm+"'";
            try {
                st=con.createStatement();
                int rs1 = st.executeUpdate(idr);
                pwinsert.println(rs1);
            }
            catch (Exception e) {
                e.getMessage();
                System.out.println("Error " +e);
            }
            System.out.println("Data Edited...");
        }

您可以为每个CRUD操作创建不同的Servlet。使用标志变量也可以识别要遵循哪个CRUD操作,但这不是一个好的做法。查看此链接

 if(req.getParameter("choise")!=null)    {
            nm = req.getParameter("choise");
            if(nm.equals("UPDATE")){ idr = "UPDATE student SET rollno = ?, class = ?, mobileno = ? WHERE name ='"+nm+"'";
            try {
                st=con.createStatement();
                int rs1 = st.executeUpdate(idr);
                pwinsert.println(rs1);
            }
            catch (Exception e) {
                e.getMessage();
                System.out.println("Error " +e);
            }
            System.out.println("Data Edited...");

}else if(nm.equals("ADD")){
idr = "<INSERT QUERY>";
            try {
                st=con.createStatement();
                int rs1 = st.executeQuery(idr);
                pwinsert.println(rs1);
            }
            catch (Exception e) {
                e.getMessage();
                System.out.println("Error " +e);
            }
            System.out.println("Data inserted...");

}

        }

这应该是你想要的

String nm = req.getParameter("name");
String roll = req.getParameter("roll");
String clas = req.getParameter("clas");
String mono = req.getParameter("mono");
if(req.getParameter("choise")!=null)    {
    nm = req.getParameter("choise");
    idr = "UPDATE student SET rollno = ?, class = ?, mobileno = ? WHERE name = ?";
    try {
        PreparedStatement pst=con.prepareStatement(idr);
        pst.setString(1,roll);
        pst.setString(2,class);
        pst.setString(3,mono);
        pst.setString(4,nm);
        int rs1 = st.executeUpdate(idr);
        pwinsert.println(rs1);
    } catch (Exception e) {
        e.getMessage();
        System.out.println("Error " +e);
    }
    System.out.println("Data Edited...");
}

我建议你开始把你的代码分解成方法。

public void doGet(HttpServletRequest req, HttpServletResponse res)
        throws IOException, ServletException    {
    String nm = req.getParameter("name");
    String roll = req.getParameter("roll");
    String clas = req.getParameter("clas");
    String mono = req.getParameter("mono");
    Connection conn = getDatabaseConnection();
    Statement sql = createSqlStatement(conn, nm ,roll, clas, mono);
    processSqlStatement(conn,sql);
    createOutput(req,res);
}

这将使你更容易维护和添加新的东西。

相关内容

最新更新