//获取页面修改之前的信息(部分代码) String sid = req.getParameter("id"); int id = Integer.parseInt(sid); String name = req.getParameter("name"); String pass = req.getParameter("pass"); System.out.println(name+"-----------"+pa
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/22 14:19:23
![//获取页面修改之前的信息(部分代码) String sid = req.getParameter(](/uploads/image/z/12785361-33-1.jpg?t=%2F%2F%E8%8E%B7%E5%8F%96%E9%A1%B5%E9%9D%A2%E4%BF%AE%E6%94%B9%E4%B9%8B%E5%89%8D%E7%9A%84%E4%BF%A1%E6%81%AF%EF%BC%88%E9%83%A8%E5%88%86%E4%BB%A3%E7%A0%81%EF%BC%89++String+sid+%3D+req.getParameter%28%22id%22%29%3B++int+id+%3D+Integer.parseInt%28sid%29%3B++++String+name+%3D+req.getParameter%28%22name%22%29%3B++String+pass+%3D+req.getParameter%28%22pass%22%29%3B++System.out.println%28name%2B%22-----------%22%2Bpa)
//获取页面修改之前的信息(部分代码) String sid = req.getParameter("id"); int id = Integer.parseInt(sid); String name = req.getParameter("name"); String pass = req.getParameter("pass"); System.out.println(name+"-----------"+pa
//获取页面修改之前的信息(部分代码)
String sid = req.getParameter("id");
int id = Integer.parseInt(sid);
String name = req.getParameter("name");
String pass = req.getParameter("pass");
System.out.println(name+"-----------"+pass);
UserDTO userDTO = new UserDTO();
userDTO.setName(name);
userDTO.setPassword(pass);
//sql
String sql = "update p_user set name = ?,password = ?, where id = ?";
Dao dao = new Dao();
int count = dao.getUpdate(sql, userDTO);
String url = "";
if(count > 0){
url = "userList.jsp";
}else{
url = "error.jsp";
req.setAttribute("error", "更新");
}
req.getRequestDispatcher(url).forward(req, resp);
dao层
public int getUpdate(String sql,UserDTO userDTO){
int count = 0;
try {
pre = connection.prepareStatement(sql);
pre.setInt(5,userDTO.getId());
pre.setString(1, userDTO.getName());
pre.setString(2, userDTO.getPassword());
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally
{
try{
pre.close();
connection.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return count;
}
上面多一个逗号,我已经删掉,那里不是主要原因,
Parameter index out of range (5 > number of parameters, which is 3)
//获取页面修改之前的信息(部分代码) String sid = req.getParameter("id"); int id = Integer.parseInt(sid); String name = req.getParameter("name"); String pass = req.getParameter("pass"); System.out.println(name+"-----------"+pa
pre.setInt(5,userDTO.getId());
这里面的第一个参数对应你上面sql语句里面的第几个问号,
(5 > number of parameters)你一共只有3个问号,所以只能这个数字最大只能是3.5超出最大范围了
所以你可以改成:
pre.setInt(3,userDTO.getId());
或者直接用字段名:
pre.setInt("id",userDTO.getId());