public void actionPerformed(ActionEvent arg0) {
try {
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/sistemarfid?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&useTimezone=true&serverTimezone=UTC", "root", "12345");
String sql = "update produto set descricao=?, cod_barras=?, local_armazem=?, nome_forn=?, cod_fornecedor where cod_produto=?";
PreparedStatement stmtedit = con.prepareStatement(sql);
stmtedit.setString(1, descricao_produto.getText());
stmtedit.setString(2, codigo_barras.getText());
stmtedit.setString(3, local_armazenagem.getText());
stmtedit.setString(4, fornecedor.getText());
stmtedit.setString(5, codigo_fornecedor.getText());
stmtedit.setString(6, codigo_produto.getText());
stmtedit.executeUpdate(sql);
//stmtedit.executeUpdate();
//stmtedit.execute();
stmtedit.close();
con.close();
JOptionPane.showMessageDialog(jButton1, this, "Produto alterado!", getDefaultCloseOperation());
}catch (SQLException e){
System.out.println (e);
//e.printStackTrace();
}
catch (Exception e) {System.out.println (e);}
Aparece o seguinte ERRO:
java.sql.SQLException: Parameter index out of range (6 > number of parameters, which is 5).
Sua string sql está incorreta!
cod_fornecedor = ? where
Era isso mesmo ! Obrigado a todos !