У меня есть эта ошибка. Индекс 2 находится за пределами допустимого диапазона. на pst.setString (2, textField.getText(); , как я могу иметь дело с этимsql server index out of range error
это мой код
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();}
для чего стоит, я бы переместил pst = con.prepareStatement (sql); сразу после моего объявления String (строка String sql = ""), а затем методы setter. – Ashish
Я не верю, что все эти столбцы действительно столбцы 'varchar'. Почему вы используете 'setString()' для всех из них? Вы должны использовать соответствующий метод 'setXXX()' для передачи значений (например, 'setInt()' или 'setDate()') вместо того, чтобы позволить драйверу неявно преобразовать все. –
@ Ашиш, я просто решу свою проблему. textField не находится в правильных местах. Спасибо за помощь. – Rohan21