Erro sistema, quando há mais de 1 linha na jtable item esta alterando todos os descontos???
item_compraDAO CODIGO
public void alterarItem_compra(float desconto) {
Connection conexao = ConnectionFactory.getConexao();
try {
String alterarDesconto = “Update item_compra set desconto = ? where id”;
PreparedStatement pstmt = conexao.prepareStatement(alterarDesconto );
pstmt.setFloat(1, desconto);
int remocoes = pstmt.executeUpdate();
if (remocoes != 1) {
System.out.println("Houve um erro na remoção, tente novamente!");
} else {
System.out.println("Desconto alterado com sucesso!");
}
pstmt.close();
} catch (SQLException e) {
System.out.println("Ocorreu algum erro no banco de dados, tente novamente! alterar desconto do produto");
while (e != null) {
System.out.println("Sql state: " + e.getSQLState());
System.out.println("Mensagem: " + e.getMessage());
System.out.println("Error code: " + e.getErrorCode());
e = e.getNextException();
}
} finally {
System.out.println("Encerrando conexão");
try {
conexao.close();
System.out.println("Conexão Terminada");
} catch (SQLException ex) {
}
}
}
Metodo de desconto // Botao desconto
protected void alterarItem_compra() {
if (tbItem_compra.getSelectedRow() != -1) {
int resposta = JOptionPane.showConfirmDialog(this, "Confirma a alteração do item?", "Confirmação", JOptionPane.YES_NO_OPTION);
if (resposta == JOptionPane.YES_NO_OPTION) {
Item_compraDAO item_compraDAO = new Item_compraDAO();
Item_compra item_compra = new Item_compra();
item_compra.setDesconto(Float.parseFloat(jTextFieldDesconto.getText()));
float desconto = Float.parseFloat(jTextFieldDesconto.getText());
item_compraDAO.alterarItem_compra(desconto);
listar();
}
}
}
Tabela do item_compra mysql