[英]PreparedStatement error: Parameter 12 undefined
我有11個要插入數據庫的字段。 顯示的錯誤是我的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字段嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.