detayı olan tablodan kayıt silme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
hacikisi
Üye
Mesajlar: 64
Kayıt: 24 Şub 2004 07:29
Konum: Gaziantep

detayı olan tablodan kayıt silme

Mesaj gönderen hacikisi »

arkadaşlar. elimde 3 adet table var. table5 ana table diğerlerinin mastersourcesi.
ben ana tabledeki kaydı sildiğimde detay tabledeki table3 ve table4 de detay olarak
10-15 er tane kayıt var. ana tabledeki kaydı sildiğimde detayları silmek için
aşağıdaki iki türlü kodlarıda denedim. ancak ana table5 ten kaydı sildiğimde
detaylardan sadece en üstteki kayıt hangisi ise o siliniyor. tüm detay silinmiyor.
nerde yanlış yaptım. bir çare..

AŞAĞIDAKİ HER İKİ ÖRNEĞİDE DENEDİM SONUÇ AYNI.

procedure TfrmProg.Table5BeforeDelete(DataSet: TDataSet);
begin
table3.First;
while not table3.Eof do
table3.Delete;
end;

table4.First;
while not table4.Eof do
table4.Delete;
end;
end;



procedure TfrmProg.Table5BeforeDelete(DataSet: TDataSet);
begin

with Table3 do begin
First;
While not EOF do
Delete;
EnableControls;
end;

with Table4 do begin
First;
While not EOF do
Delete;
EnableControls;
end;
end;
Siz İman Etmedikçe Cennete Giremezsiniz. Birbirinizi Sevmedikçede İman Etmiş Olamazsınız.

Hz.Muhammed (S.A.V.)
Resim
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Selam..

- Kodlarda hata yok... Tam olarak istediğin işlem için kurulmuş...

- Gözden kaçırdığın bir olay var bence... Beforedelete olayında bunlar kurgulanmış ama Table4 ve Table3'ün After delete olayında close/open gibi bir iki işlem var gibime geliyor... Tabii kodlar sende kontrol edecek olan sensin... :wink:
Resim
Resim ....Resim
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2380
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Mesaj gönderen freeman35 »

Kullandığın Database ve component ları yazsaydın daha iyi olurdu.
Şunu dene

table3.First;
while not table3.Eof do
table3.Delete;
table3.First;
end;

EOF tetiklenmiyor olabilir. Eğer FB/IB kullanıyorsan Foreingkey kullan. OnDelete i cascade yap. Master kaydı sildiğinde her bağlı detay tabloyu kendisi siler
Kolay gele
[/b]
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
hacikisi
Üye
Mesajlar: 64
Kayıt: 24 Şub 2004 07:29
Konum: Gaziantep

okey

Mesaj gönderen hacikisi »

mrmcop arkadaşın dediği gibi detay tabloların after deletesine yazdığım olayları kaldırınca düzeldi teşekkürler
Siz İman Etmedikçe Cennete Giremezsiniz. Birbirinizi Sevmedikçede İman Etmiş Olamazsınız.

Hz.Muhammed (S.A.V.)
Resim
Cevapla