当前位置: > //获取页面修改之前的信息(部分代码)...
题目
//获取页面修改之前的信息(部分代码)
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, u

提问时间:2020-11-11

答案
pre.setInt(5,userDTO.getId());
这里面的第一个参数对应你上面sql语句里面的第几个问号,
(5 > number of parameters)你一共只有3个问号,所以只能这个数字最大只能是3.5超出最大范围了


所以你可以改成:
pre.setInt(3,userDTO.getId());
或者直接用字段名:
pre.setInt("id",userDTO.getId());
举一反三
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
奥巴马演讲不用看稿子.为什么中国领导演讲要看?
想找英语初三上学期的首字母填空练习……
英语翻译
1,人们染上烟瘾,最终因吸烟使自己丧命.
版权所有 CopyRight © 2012-2019 超级试练试题库 All Rights Reserved.