0
我有以下功能:Java參數索引超出範圍(2>參數的數量,這是1)
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)
我正在閱讀有關此錯誤,它與問號有關,但我不確定錯誤的確切位置。如果有人能幫助我,我會非常感激。
這是我的第二篇文章,很抱歉,如果這在某些方面不正確。
再次感謝大家!
爲什麼你的一些佔位符有'''而其他的不佔? –
如果我拿出單引號並嘗試運行它MySql給我以下錯誤:'#1054 - 未知列'我的名字'在'字段列表'中 –
你能告訴我們的實現或至少你給的信息關於'PreparedStatement.setString'? – ASKASK