gpt4 book ai didi

java - 参数索引超出范围(3 > 参数个数,即 2)

转载 作者:行者123 更新时间:2023-11-30 06:45:23 25 4
gpt4 key购买 nike

    public static int updateApproved(admin u){  
int status=0;
try{
Connection con=getConnection();
PreparedStatement ps=con.prepareStatement("update admission set status=? where admiss_id=?");

ps.setString(1,u.getStatus());
ps.setInt(2,u.getAdmiss_id());


status=ps.executeUpdate();

PreparedStatement ps2=con.prepareStatement("insert into patient(username,password,email,sex,level,fullname,age,bday,blood,address,vaccines,fam_his,surgery,medicine_taken) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
ps.setString(1,u.getUsername());
ps.setString(2,u.getPassword());
ps.setString(3,u.getEmail());
ps.setString(4,u.getSex());
ps.setInt(5,u.getLevel());
ps.setString(6,u.getFullname());
ps.setInt(7,u.getAge());
ps.setString(8,u.getBday());
ps.setString(9,u.getAddress());
ps.setString(10,u.getBlood());
ps.setString(11,u.getVaccines());
ps.setString(12,u.getFam_his());
ps.setString(13,u.getSurgery());
ps.setString(14,u.getMedicine_taken());
status=ps2.executeUpdate();
}catch(Exception e){System.out.println(e);}
return status;
}

java.sql.SQLException:参数索引超出范围(3 > 参数数量,即 2)。为什么这总是错误?我已经计算了参数的范围,但我仍然收到该错误。

最佳答案

PreparedStatement ps2=con.prepareStatement("insert into patient(username,password,email,sex,level,fullname,age,bday,blood,address,vaccines,fam_his,surgery,medicine_taken) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?)");  
ps.setString(1,u.getUsername()); // ps has this
ps.setString(2,u.getPassword()); // ps has this
ps.setString(3,u.getEmail()); // ps does not have this, it only has 2 ?'s in it, so it explodes

你正在制作 PreparedStatement ps2 但你的 setString 都在 ps 上......你需要更新它们才能使用 ps2

关于java - 参数索引超出范围(3 > 参数个数,即 2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49054847/

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