Delete insert

5 respostas
andredeividi

ola pessoal estou ficando de cabelo branco

em parte do meu codigo eu tenho de fazzer um delete em uma tabela

e logo em seguida eu faço um insert , caso eu faço o insert direto não da erro mas se eu fizer o delete e depois o insert não vai, da pau pq???

desde ja agradeço

5 Respostas

Pedrosa

Existe algum relacionamento entra as tabelas que vc está fazendo esse delete, vamos supor se vc coloca o campo como chave estrangeira, não será possível deletar a não ser que seja deletada na tabela principal tbm.

thiago.correa

Antes de mais nada que problema está dando?! Está soltando uma exceção?!

andredeividi

ok vamos la vou descrever o funcionamento

tenho uma tabela

vendas_orcamento
vendas_orcamento_produtos

quando eu faço um novo orcamento eu gravo
os dados na tabela vendas_orcamento

dai eu pego id da tabela vendas_orcamento e armazeno em uma variavel “axIdOrc” e gravo na tabela
vendas_orcamento_produtos para cada produto.

ate aqui vai que uma beleza

o problema esta quando eu faço um editar

eu pego id que esta sendo alterado

faço o update na tabela vendas_orcamento

dai do um "delete from vendas_orcamento_produtos where idorc =" +axIdOrc+"'";

e enseguida um o insert novamente iguailzinho o decima

e não existe relacionamento nessa tabelas!! quer dizer ate tem mais e o sistema que garante não banco de dados

andredeividi

ok vamos la vou descrever o funcionamento

tenho uma tabela

vendas_orcamento
vendas_orcamento_produtos

quando eu faço um novo orcamento eu gravo
os dados na tabela vendas_orcamento

dai eu pego id da tabela vendas_orcamento e armazeno em uma variavel “axIdOrc” e gravo na tabela
vendas_orcamento_produtos para cada produto.

ate aqui vai que uma beleza

o problema esta quando eu faço um editar

eu pego id que esta sendo alterado

faço o update na tabela vendas_orcamento

dai do um "delete from vendas_orcamento_produtos where idorc =" +axIdOrc+"'";

e enseguida um o insert novamente iguailzinho o decima

e da erro traz um Exception.

e não existe relacionamento nessa tabelas!! quer dizer ate tem mais e o sistema que garante não banco de dados

Pedrosa

Coloque a exception causada e use PreparedStatement

ex:

public void deleteUsuario(int codigo) throws SQLException {
   strSQL = "DELETE FROM usuario WHERE cod_usuario = ?";
   PreparedStatement stmt = this.connection.prepareStatement(strSQL);
   stmt.setInt(1,codigo);
   stmt.execute();
   stmt.close();
}

Onde coloco ? ele pega o tipo que eu setei no caso um int, o driver faz o trabalho sujo dessas aspas na query.

Criado 3 de julho de 2006
Ultima resposta 3 de jul. de 2006
Respostas 5
Participantes 3