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 Kayıt Yaparken Yazdırma bünyamin68 6 100 4 saat önce
Son Yorum: mustafaozpinar
  DeleteFile Sorunu ermanispir@gmail.com 6 412 08-01-2021, Saat: 14:20
Son Yorum: ermanispir@gmail.com
  Filtreleme Yavaşlığı Sorunu bünyamin68 10 424 31-12-2020, Saat: 12:59
Son Yorum: bünyamin68
  Code Insight ayarları kayıt hatası tolgaozb 0 90 25-12-2020, Saat: 11:08
Son Yorum: tolgaozb
Wink Exe -> Exe -> DLL -> WEB SQL Sorunu ... Gürcan 4 261 24-12-2020, Saat: 12:31
Son Yorum: Gürcan



Konuyu Okuyanlar: 1 Ziyaretçi