Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Master Detail Kayıt Silme Sorunu
#1
Arkadaşlar SQLite db kullandığım örnekte master-detail bağlantı oluşturdum. Her şey normal. 

Master tablodan kayıt silerken detail tablodaki ilişkili içeriği silmek  için Master tablonun AfterDelete yordamına şu kodu yazdım. 
 QOgrenci.First;
 while not QOgrenci.Eof do
   QOgrenci.Delete;
 QOgrenci.First;
Ancak bu kodlar detail tablodaki ilişkili kaydı değil başka alakasız bir kaydı siliyor. Örneğin master tablodaki 2 numaralı tablo ile birlikte metal tablodaki 2 numaralı içeriği silmek yerine 3 numaralı kaydı siliyor.  

Acemilik işte uğraşıyorum öğleden beri bulamadım Smile

Yardımcı olabilecek biri varsa minnettar kalırım. Mutlu akşamlar diliyorum.

Kaynak kodları buraya ekliyorum bakma fırsatınız olabilir mi diye.
Cevapla
#2
(18-10-2020, Saat: 19:38)Frrst Adlı Kullanıcıdan Alıntı: Arkadaşlar SQLite db kullandığım örnekte master-detail bağlantı oluşturdum. Her şey normal. 

Master tablodan kayıt silerken detail tablodaki ilişkili içeriği silmek  için Master tablonun AfterDelete yordamına şu kodu yazdım. 
 QOgrenci.First;
 while not QOgrenci.Eof do
   QOgrenci.Delete;
 QOgrenci.First;
Ancak bu kodlar detail tablodaki ilişkili kaydı değil başka alakasız bir kaydı siliyor. Örneğin master tablodaki 2 numaralı tablo ile birlikte metal tablodaki 2 numaralı içeriği silmek yerine 3 numaralı kaydı siliyor.  

Acemilik işte uğraşıyorum öğleden beri bulamadım Smile

Yardımcı olabilecek biri varsa minnettar kalırım. Mutlu akşamlar diliyorum.

Kaynak kodları buraya ekliyorum bakma fırsatınız olabilir mi diye.

afterdelete'e yazdığın için oluyor. yaptığın projeye göre konuşmak gerekirse beforedelete'e yazmalısın.
Cevapla
#3
Sayın hocam sizin hiç beyniniz durup sizinle inatlaştı mı ? Eminim olmuştur Big Grin

Çok teşekkürler @ hocam başarılar diliyorum...
Cevapla
#4
ben beyne girersek iş çok karışır.
kolay gelsin.
Cevapla
#5
Merhaba,

Query2.Close;
Query2.SQL.Text:='Delete From DetailTablo Where MasterID=5000';
Query2.ExecSQL;

Detail tabloyu sildikten sonra ana tabloyu da aynı metodla silebilirsinz.
Cevapla
#6
Teşekkürler @delphicim hocam, sorunum hallolduktan sonra master tablodaki kayıtları klasik yollarla siliyorum bir sıkıntı yaşamadım.

Şimdi halletmeye çalıştığım şey şu. SQLite db yi create ederek oluşturuyorum. Yeni bir alan eklediğimde bunu update etmek birkaç gün kafa yoracağım ve halledemeyeceğim ve yine burada soracağım eminim Big Grin
Cevapla
#7
Ben Firebird de böyle siliyorum.. old ID yi bulup silmen lazım.

CREATE OR ALTER TRIGGER SATIS_SIL FOR TAblo1
ACTIVE AFTER DELETE POSITION 0
AS
begin
delete from Tablo2 where tablo2.ID= old.satid (Bu tablo1 deki alan);
end
// Bilgi paylaştıkça çoğalır.. 

Cevapla
#8
(19-10-2020, Saat: 00:48)Frrst Adlı Kullanıcıdan Alıntı: Teşekkürler @delphicim  hocam, sorunum hallolduktan sonra  master tablodaki kayıtları klasik yollarla siliyorum bir sıkıntı yaşamadım.

Şimdi halletmeye çalıştığım şey şu. SQLite db yi create ederek oluşturuyorum. Yeni bir alan eklediğimde bunu update etmek birkaç gün kafa yoracağım ve halledemeyeceğim ve yine burada soracağım eminim Big Grin

"ALTER TABLE " anahtar kelime
Cevapla
#9
Tablolar ilişkili olarak yapılandırıldı ise foreign key on delete cascade bakmanızı tavsiye ederim bu durumda ana kaydı silmeniz yeterli olacaktır. Detaylar silme işlemini database halledecektir
PostgreSQL - Linux - Delphi, Poliüretan
WWW
Cevapla
#10
Maalesef yeni başlayan biri olarak bunların üstesinden gelmek (ilk günlerinizi hatırlayınız) çok zor hocam Smile İki gündür SQLite veritabanına mevcut verileri bozmadan alan eklemeye çalışıyorum hala halledebilmiş değilim.

İki gün daha uğraşıp çözmezsem artık kaynak kodları ekleyim yardımlarınızı isteyeceğim başka çarem yok çünkü. Smile Yardımseverliğiniz için şimdiden teşekkürler...
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Veri Tabanına Kontrollü Kayıt Yaptırma bünyamin68 15 797 08-03-2024, Saat: 00:06
Son Yorum: TuncayDelphi
  Cas Terazi Veri gönderimi Delphi sürüm sorunu KUNTAY 12 4.418 08-11-2023, Saat: 00:06
Son Yorum: berkan
  TCMB Kur Almada Explorer Sertifika Sorunu Adem Kurt 3 622 24-10-2023, Saat: 15:14
Son Yorum: RAD Coder
  program exe icon sorunu cvheneburi 9 2.834 19-10-2023, Saat: 15:04
Son Yorum: harunyl
  Fast report Master-Detail delphicim 1 287 17-10-2023, Saat: 19:25
Son Yorum: delphicim



Konuyu Okuyanlar: 1 Ziyaretçi