我制作了一个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);
}
这将使你更容易维护和添加新的东西。