Olá,
Estou fazendo um projeto para a faculdade onde tenho que criar um banco de dados de DOAÇÃO DE ÓRGÃOS e realizar algumas operações como insert, update, delete e list através de código em java. O banco já está feito no MySQL, e é o seguinte:
São 4 tabelas… DOADOR, RECEPTOR, ÓRGÃO e ESTOQUE, onde ESTOQUE tem a própria chave primária e recebe 3 chaves estrangeiras, uma de cada uma das outras tabelas (as outras 3 não possuem chave estrangeira de nada)…
No meu código java já fiz tudo relacionado a doador, receptor e órgão, e agora estou trabalhando com as chaves estrangeiras de ESTOQUE, e tendo MUITAS dúvidas. Uma delas é como fazer o comando do update para atualizar o meu estoque.
A minha nomenclatura é a seguinte
esId // id do ESTOQUE, chave primária
esDoId // referência da id do doador (doId), chave estrangeira que veio de de DOADOR
esReId // (reId) idem para RECEPTOR
esOrgId // (orgId) idem para ÓRGÃO
eu tenho que fazer no meu prepareStatement o update, mas como pegar essas estrangeiras neste update?
algo do tipo
“update estoque set ??? where esId = ?”
como dar update nessas estrangeiras no comando, sem que elas percam sua referência e me aponte erro de integridade??
Como ficaria este update gente???
segue abaixo como está o código
public void altera(Estoque estoque) {
String sql = "update estoque DESCOBRIR COMO FAZ!? where esId=?";
try {
PreparedStatement ps = this.connection.prepareStatement(sql);
ps.setInt(1, estoque.getDoador().getDoId());
ps.setInt(2, estoque.getReceptor().getReId());
ps.setInt(3, estoque.getOrgao().getOrgId());
ps.setInt(4, estoque.getEsId());
ps.execute();
ps.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
Obrigada!