我有以下功能:
public void updateItem(String id, String name, String quantity, String price){
String query = "UPDATE items SET name = '?', price = ?, quantity = ? WHERE id = ?";
try(PreparedStatement st = conn.prepareStatement(query)){
st.setString(1, name);
st.setString(2, quantity);
st.setString(3, price);
st.setString(4, id);
JOptionPane.showMessageDialog(null, "Item Updated");
}catch(Exception ex){
JOptionPane.showMessageDialog(null, ex);
}
}
但每当我尝试运行它时,它会给我以下错误:
Parameter Index Out Of Range (2 > number of parameters, which is 1)
我正在阅读这个错误,它与问号有关,但我不确定错误究竟在哪里。如果有人可以帮助我,我会非常感激。
这是我的第二篇文章,如果这在某种程度上不正确,那就很抱歉。
再次感谢大家!
答案 0 :(得分:1)
您需要进行两项更改(我可以看到),
name = '?'
应该是
name = ?
并且,您实际上并未在发布的代码中执行您的陈述。