Boa tarde,
Olá estou com um problema e gostaria da ajuda de vcs, tenho meu método para salvar e se já existe o registro eu altero com meu método alterar… o problema é o seguinte
da onde eu vou setar o id na minha tela, pois é passado por parametro junto com os outros atributos a serem salvos, segue meu código para ilustrar melhor o meu problema
Método alterar da classe Dao
public void alterar(RelProdutos relProdutos) throws SQLException{
String update = "UPDATE RELPRODUTOS " +
"SET produto = ?, operador = ?, turno = ?, lote = ?, volume = ?," +
"quantidade = ?, dataEntrada = ?, dataSaida = ? WHERE id = ?";
update(update, relProdutos.getId(), relProdutos.getProduto(), relProdutos.getOperador(),
relProdutos.getTurno(), relProdutos.getLote(), relProdutos.getVolume(),
relProdutos.getQuantidade(), relProdutos.getDataEntrada(), relProdutos.getDataSaida());
}
Método alterar da classe Controller
public void alterar(int id, String produto, String operador, String turno, int lote, int volume,
int quantidade, String dataSaida)throws SQLException, ParseException{
RelProdutos relProdutos = new RelProdutos();
relProdutos.setId(id);
relProdutos.setProduto(produto);
relProdutos.setOperador(operador);
relProdutos.setTurno(turno);
relProdutos.setLote(lote);
relProdutos.setVolume(volume);
relProdutos.setQuantidade(quantidade);
relProdutos.setDataSaida(formatarData(dataSaida));
new RelProdutosDao().alterar(relProdutos);
}
Método onde é chamado o alterar do JFrame
public void onClickSalvar(){
ControleController cc = new ControleController();
int txtLoteINT = Integer.parseInt(txtLote.getText());
int txtVolumeINT = Integer.parseInt(txtLote.getText());
int txtQuantidadeINT = Integer.parseInt(txtprodDia.getText());
try {
if(cc.verifyProduct(txtProduto.getText(), txtLoteINT)){
cc.alterar(id/*<- ??*/, txtProduto.getText(), txtOperador.getText(), txtTurno.getText(),
txtLoteINT, txtVolumeINT, txtQuantidadeINT, lbData2.getText());
System.out.println("Produto já existente, registro alterado com sucesso!!!");
}else{
cc.salvar(txtProduto.getText(), txtOperador.getText(), txtTurno.getText(),
txtLoteINT, txtVolumeINT, txtQuantidadeINT, lbDataInicio.getText(), lbData2.getText());
System.out.println("SALVO");
}
} catch (SQLException e) {
System.out.println("Não foi possivel salvar, " + e.getLocalizedMessage());
} catch (ParseException e) {
e.printStackTrace();
}
}
Vejam que faço uma verificação pra que caso ja exista o registro é pra ser alterado, o problema ela ali no id do metodo alterar
no caso, como eu busco ou seto seila, o id pra se alterado com os novos valores??
espero que tenham entendido meu problema… aguardo ajuda
Abraços