Deletando todos os registros

Delphi

30/09/2005

boa dia para todos.

amigos queria saber com fasso para deleta todos registro da tabela filha so que as tabelas não estão ligadar fisicamente tipo master e detalhe ela estão da seguinte forma eu puxei o codigo do cliente e inserir na tabela filha que tambem tem o campo codigo do cliente.

ai eu quero que quando eu deletar o cliente ele sair deletando todos os depedentes que ele acha na tabela referente a este cliente


Geomicro

Geomicro

Curtidas 0

Respostas

Michael

Michael

30/09/2005

Olá!

Se for um SGBD relacional, é só usar a linguagem SQL:

delete from Dependentes where CodigoCliente = :CodigoCliente


Vc pode automatizar isso usando um trigger.

[]´s


GOSTEI 0
Geomicro

Geomicro

30/09/2005

eu uso banco de dados access e componetes adoquery como poderia fazer isto utilizando um button


GOSTEI 0
Rjun

Rjun

30/09/2005

Seria algo nesse caminho.

begin
  ADOQuery.SQL.Clear;
  ADOQuery.SQL.Add(´Delete from Dependentes where CodigoCliente = :CodigoCliente´);
  ADOQuery.Parameters.ParamByName(´CodigoCliente´).Value :=   edtCodCliente.Txt;
  ADOQuery.ExecSQL;

  ADOQuery.SQL.Clear;
  ADOQuery.SQL.Add(´Delete from Cliente where CodigoCliente  = :CodigoCliente´);
  ADOQuery.Parameters.ParamByName(´CodigoCliente´).Value :=   edtCodCliente.Txt;
  ADOQuery.ExecSQL;
end;



GOSTEI 0
Geomicro

Geomicro

30/09/2005

so uma duvida queria saber se e melhor utiliza os comando sql (select*from tabela) na proprieadade adoquery ou fazer uma instrução em na hora que for inserir um dado por exemplo como a que vc fez
begin
ADOQuery.SQL.Clear;
ADOQuery.SQL.Add(´Delete from Dependentes where CodigoCliente = :CodigoCliente´);
ADOQuery.Parameters.ParamByName(´CodigoCliente´).Value := edtCodCliente.Txt;
ADOQuery.ExecSQL;

ADOQuery.SQL.Clear;
ADOQuery.SQL.Add(´Delete from Cliente where CodigoCliente = :CodigoCliente´);
ADOQuery.Parameters.ParamByName(´CodigoCliente´).Value := edtCodCliente.Txt;
ADOQuery.ExecSQL;
end;

o adoquery recebendo os paramentros qual seria as vantagens


GOSTEI 0
Rjun

Rjun

30/09/2005

:?: :?: :?: Não entendi sua dúvida.


GOSTEI 0
Geomicro

Geomicro

30/09/2005

primeiro não tem nada a ver com a minha primeira duvida esta já e outra duvida.
eu quero saber qual a melhor forma de programa passa os paramento via programação desse tipo
ADOQuery.SQL.Add(´select*from tabela´); ou vou na propriedade
do adoquery sql do object inspector e coloco o camando (select*from tabela)


GOSTEI 0
Rjun

Rjun

30/09/2005

Eu prefiro que o código SQL fique dentro do componente. Se precisar alterar alguma coisa, utilize Querys parametrizadas. Acho que enfiar codigo SQL no meio do código do programa deixa ele meio poluído.


GOSTEI 0
Geomicro

Geomicro

30/09/2005

Amigo Rjun valeu pelas dicas e sua opnião pessoas com vc de e que deixa a linguagem delphi mais interessante


GOSTEI 0
Michael

Michael

30/09/2005

Amigo Rjun valeu pelas dicas e sua opnião pessoas com vc de e que deixa a linguagem delphi mais interessante


Pô, e eu? Quem estendeu primeiro a mão para vc??? hehehehehe

Tô brincando hein. ;-)

[]´s


GOSTEI 0
Geomicro

Geomicro

30/09/2005

o Michael descupe por não ter comentado o seu nome realmente foi falha minha eu agradeço a vc tambem e a todos que responde as minha duvidas e as duvidas dos outros colegas pois vc merece o minimo de consideração por parte da gente já que vc estão tirando nossas duvidas sem cobra nada


GOSTEI 0
POSTAR