我无法删除用户。这是我单击删除按钮时收到的错误。 org.springframework.dao.TransientDataAccessResourceException:PreparedStatementCallback; SQL [从用户删除,其中 id = '1'];参数索引超出范围(1 > 参数数量,即 0)。;嵌套异常是 java.sql.SQLException: 参数索引超出范围(1 > 参数数量,即 0)。请帮忙,非常感谢
Jdbc删除函数
public int deleteUser(int id){
String SQL = "DELETE FROM users WHERE id = '"+id+"'";
System.out.print(SQL);
int user = jdbcTemplateObject.update(SQL, id);
return user;
}
删除 Controller
RequestMapping(value = "/delete", method = RequestMethod.GET)
public ModelAndView delete(@ModelAttribute("SpringWeb")User user, ModelMap model, HttpServletRequest request)
{
try
{
SyntacksJdbc syntacksJdbc = (SyntacksJdbc)context.getBean("syntacksJdbc");
System.out.println(request.getParameter("id"));
int id = Integer.parseInt(request.getParameter("id"));
int user1 = syntacksJdbc.deleteUser(id);
model.addAttribute("message", "Questions updated successfully.");
}
catch(Exception e)
{
System.out.print(e);
model.addAttribute("message", "Error occured in posting question.");
}
return new ModelAndView("users");
在我的 jsp 按钮上
<a href="/Project/delete?id=${user.id}" name="delete"><button type= submit>Delete</button>
最佳答案
将查询更改为
DELETE FROM users WHERE id = ?
因为您正在尝试设置参数值
关于java - spring mvc删除用户出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28843777/