gpt4 book ai didi

java - sql server 索引超出范围错误

转载 作者:行者123 更新时间:2023-11-30 04:04:32 42 4
gpt4 key购买 nike

我有这个错误。索引 2 超出范围。在 pst.setString(2, textField.getText();我该如何处理呢?

这是我的代码

try{
String sql="update inventory set Name=?,Category=?,Brand=?,Price=?,ExDate=?,Tags=?,Quantity=?,Barcode=? where Id=?";
pst.setString(2, textField.getText());
pst.setString(3, textField_1.getText());
pst.setString(4, textField_2.getText());
pst.setString(5, textField_3.getText());
pst.setString(6, textField_4.getText());
pst.setString(7, textField_5.getText());
pst.setString(8, textField_9.getText());
pst.setString(9, textField_6.getText());
pst.setString(1, textField_8.getText());
pst=con.prepareStatement(sql);
pst.executeUpdate();

JOptionPane.showMessageDialog(null,"Updating Item Successful","Updated",JOptionPane.PLAIN_MESSAGE);

new server().setVisible(true);
setVisible(false);
} catch(Exception e1){e1.printStackTrace();}

最佳答案

基于documentation ,这里有几件事需要注意。

您的sql包含name att索引1。因此,当您尝试更新此列时,您应该使用相同的索引。像这样的东西:

pst.setString(1, textField.getText());

您总是调用 setString 方法。尽管看起来某些列可能是 int 类型或其他类型。例如,您的“id”列应设置为:

pst.setInt(9, Integer.parseInt(textField_8.getText()));    (notice that I have changed the index as well.)

正如我之前在评论中提到的,您应该将 pst=con.prepareStatement(sql) 移至顶部。 (就在字符串声明之后。)

关于java - sql server 索引超出范围错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21076633/

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