DataSetProvider - CascadeDelete

Delphi

24/05/2004

Estou tentando habilitar esta opção em minha aplicação, porém, não está acontecendo nada com as Querys detalhe, ou seja, o registro do Master é excluido, porém, os registos dos Detalhes ficam intactos...

Detalhes:
Delphi 7
Sistema em n-camadas
Banco de dados Oracle

ps: o banco não possui nenhuma constraint (é uma longa história..hehe)...

Se alguém puder me dar uma luz...


Kotho

Kotho

Curtidas 0

Respostas

G1b4

G1b4

24/05/2004

Kotho, eu uso FB e isso dah certo.
Jah q naum dah certo pro Oracle, acho q vc vai ter q fazer assim:
No evento OnBeforeDelete do seu ClientDataSet Mestre:

cdsDetalhe.First;
while not cdsDetalhe.Eof do
cdsDetalhe.Delete;

Espero ter ajudado...


GOSTEI 0
Afarias

Afarias

24/05/2004

a opção CASCADE DELETE não faz nada realmente a nível de banco. quando usa esta opção vc deve ter no banco de dados uma CONSTRAINT ON DELETE CASCADE ou uma TRIGGER.


T+


GOSTEI 0
Fred

Fred

24/05/2004

Na minha opnião isso deve ser feito a nivel de Banco de Dados, eu faço isso no Firebird. E sendo o Oracle uns do ou o melhor SGBD acho meio dificil ele naum ter essa constraint ou opção!!!


GOSTEI 0
POSTAR