gpt4 book ai didi

java - 准备语句错误: Parameter 12 undefined

转载 作者:行者123 更新时间:2023-11-30 00:17:09 25 4
gpt4 key购买 nike

我有十一个字段想要插入到数据库中。显示的错误是我的 12 参数未定义,即 ps.executeUpdate()。我应该怎么办?

我的插入方法如下。

public void update(User user){
try{
Connection conn = DbUtils.getConnection();
PreparedStatement ps = conn.prepareStatement("UPDATE db.db set id = ?,username = ?,password = ?,firstname = ?, lastname = ?, fathersname =?, gender = ?, email = ?,address =? , phnno = ?, courses = ?" + "WHERE id =?");
ps.setInt(1, user.getId());
ps.setString(2, user.getName());
ps.setString(3, user.getPwd());
ps.setString(4, user.getFname());
ps.setString(5, user.getLname());
ps.setString(6, user.getFathername());
ps.setString(7, user.getAddress());
ps.setString(8, user.getEmail());
ps.setString(9, user.getGender());
ps.setString(10, user.getPhno());
ps.setString(11, user.getCradio());
ps.execute();
}catch(Exception e){
e.printStackTrace();
}
`

最佳答案

函数应该有另一个参数,用于 12 个占位符。像这样:

public void update(User user){
try{
Connection conn = DbUtils.getConnection();
PreparedStatement ps = conn.prepareStatement("UPDATE db.db set id = ?,username = ?,password = ?,firstname = ?, lastname = ?, fathersname =?, gender = ?, email = ?,address =? , phnno = ?, courses = ?" + " WHERE id =?");
ps.setInt(1, user.getId());
ps.setString(2, user.getName());
ps.setString(3, user.getPwd());
ps.setString(4, user.getFname());
ps.setString(5, user.getLname());
ps.setString(6, user.getFathername());
ps.setString(7, user.getAddress());
ps.setString(8, user.getEmail());
ps.setString(9, user.getGender());
ps.setString(10, user.getPhno());
ps.setString(11, user.getCradio());
ps.setInt(12, user.getId()); //parameter 12 added
ps.execute();
}catch(Exception e){
e.printStackTrace();
}

您真的想也更新 ID 字段吗?

关于java - 准备语句错误: Parameter 12 undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23561868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com