Sevgili arkadaşlar forumu ve interneti bu konuda hatmettim fakat sorunumla ilgili çözlüm bulamadım.Sizlerden yardım rica ediyorum.Forumda gördüğüm ve bildiğim kadarıyla FB de 2 tabloyu birbirini master detail olarak bağladım buraya kadar sorun yok.Delphide hakkus arkadaşın örnek uygulamasını kendi programıma uygulamaya çalıştım fakat başarılı olamadım.İki adet ibdataset var 1 ve 2.İbdataset1 Master ibdataset2 detail.İbdatsetin selectini select * from deneme dedim. ibdataset2'nin selectine select * from deneme2 where fk=:PK olarak yazdım.Birde ibdataset2nin after insert'üne ibdataset2FK.AsInteger:=Ibdataset1PK.AsInterger yazdım.Daha sonra ibdataset2nin dotasourcenü anlatılanlar gibi ibdadaset1'nin datasoruce1ni ayarladım.Buraya kadar anlatılanları bire bir yaptım.
Sıkıntım ise Formuma bir adet yeni ve kaydet butonu koydum.Dbeditlerle formumu tamamladım.yeni butonun click olayına ibdataset1.insert dediğim zaman ibdataset1'e yeni kayıt açıyor ve ibdataset1 e bağlı olan dbeditlere giriş yapabiliyorum.Problem ibdataset2 olan db editlere giriş yapamıyorum.Bana ibdataset2 edit ve insert değil diye bir hata mesajı veriyor.Yeni butonuna bastığımda aynı anda hem ibdataset1 hemde ibdataset2 tablolarına nasıl kayıt yapıp kaydedebilirim. Yardımlarınızı bekliyorum.Teşekkürler.
Delphide Master Detail ibdataset Yardım...
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: Delphide Master Detail ibdataset Yardım...
cevabı sorunuzun içinde. ibdataset2'yede insert işlemi yapmalısınız. ibdataset1 in afterinsertinde yapabilirsin. post işlemlerinide yapmaya unutmayın.yeni butonun click olayına ibdataset1.insert dediğim zaman
Re: Delphide Master Detail ibdataset Yardım...
Cevabınız için teşkkür ederim.Dediğiniz gibi yaptım.IBDataset1'in after insert'üne ibdataset2.insert; dediğim zaman, bu komutu ben yeni butonun içinede koymuştum... Şöyle bir hata alıyorum
"Project Proje1.exe raised exception class EDatabaseError with message 'IBDataset2:Cannot modify a read-only dataset'. Process stopped." hatasını veriyor.
Bir yeri karçırıyorum ama nereyi bir türlü bulamıyorum.
Tşk.
"Project Proje1.exe raised exception class EDatabaseError with message 'IBDataset2:Cannot modify a read-only dataset'. Process stopped." hatasını veriyor.
Bir yeri karçırıyorum ama nereyi bir türlü bulamıyorum.
Tşk.
Re: Delphide Master Detail ibdataset Yardım...
s.a.
ibdataset 2 nin insert ve update sqllerini hazırladınız mı?
ibdataset 2 nin insert ve update sqllerini hazırladınız mı?
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Re: Delphide Master Detail ibdataset Yardım...
Arkadaşlar insert olayında biraz daha gelişme kaydettim fakat bu sefer başka bir problem karşılaşıyorum.Şöyle ki, forumda arkadaşlar master detaili anlatırken ibdaset2'nin datasource özelliğinin datasource1 olması gerektiğini belirtmişler.Ben ibdataset2nin object inspector'dan datasource özelliğini datasource1 yapınca kayıt işleminde aşşağıdaki hata alıyorum.
"violation of FOREING KEY constraint 'FK_Deneme2_1' on table 'Deneme2'"......
anlıyamadığım şey ibdataset2nin datasource özelliğini datasoruce1 yapmayınca kayıt yapıyor fakat bu seferde delete işlemi yapmak istediğimde de yukarda hata mesajını alıyorum.Datasource'un ne olması gerekiyor yardımcı olabilirmisiniz.
Teşekkürler.
"violation of FOREING KEY constraint 'FK_Deneme2_1' on table 'Deneme2'"......
anlıyamadığım şey ibdataset2nin datasource özelliğini datasoruce1 yapmayınca kayıt yapıyor fakat bu seferde delete işlemi yapmak istediğimde de yukarda hata mesajını alıyorum.Datasource'un ne olması gerekiyor yardımcı olabilirmisiniz.
Teşekkürler.
Re: Delphide Master Detail ibdataset Yardım...
Arkadaşlar bir önceki mesajımdaki violotion FOREIGN KEY hatasının firebird DB kaynaklandığını buldum.Detail tablodaki foreign key'in update rule ve delete rule CASCADE yapınca violoation FOREIGN KEY hatası ordadan kalktı.Bilgi olsun diye yazıyorum.
Fakat bu sorunu çözdüktek sonra ilk baştaki probleme tekrar geri döndüm şöyleki.Master ve Detail tablolarını bu sefer sorunsuz bağladım gibi FB'de. Delphide formuma bir tane yeni butonu koydumğumda onun içine ibdataset1.insert; komutu yazıyourm, ibdataset1 de data girişi yapabiliryorum.hemen onun altınada ibdataset2.insert yazıryorum.dbgridden ibdataset için bilgi giriş kısmı açılıyor.Fakat ibdataset1 e bağlı dbeditten bilgi girişi yaptığım zaman ibdataset2 kapanıyor.sonra ibdataset1 ve ibdataset2.post deyince bana 'IBDataset2:Dataset not in edit or insert mode' hatası veriyor.Aynı anda hem master hemde detail tabloya kayıt girebilmek için nasıl bir insert ve post komutu yazmalıyım teşekkürler
Fakat bu sorunu çözdüktek sonra ilk baştaki probleme tekrar geri döndüm şöyleki.Master ve Detail tablolarını bu sefer sorunsuz bağladım gibi FB'de. Delphide formuma bir tane yeni butonu koydumğumda onun içine ibdataset1.insert; komutu yazıyourm, ibdataset1 de data girişi yapabiliryorum.hemen onun altınada ibdataset2.insert yazıryorum.dbgridden ibdataset için bilgi giriş kısmı açılıyor.Fakat ibdataset1 e bağlı dbeditten bilgi girişi yaptığım zaman ibdataset2 kapanıyor.sonra ibdataset1 ve ibdataset2.post deyince bana 'IBDataset2:Dataset not in edit or insert mode' hatası veriyor.Aynı anda hem master hemde detail tabloya kayıt girebilmek için nasıl bir insert ve post komutu yazmalıyım teşekkürler
Re: Delphide Master Detail ibdataset Yardım...
s.a.
arkadaşım ibdataset 1i post ettiğin zaman kayıt refresh oluyor. bu yüzden ibdataset2 yide refreshliyor. ondan sebeb ibdataset2 edit/insert modundan çıkıyor.
Normalde önce master kaydı insert--> post edersiniz. sonra detail tabloyu insert --> post edersiniz.
Anladığım kadarı ile siz ikisine aynı anda insert komutunu veriyorsunuz ancak ibdataset1 post olduğu zaman ibdataset2 yi de refreşlediği için ibdataset2 yi post yapamıyorsunuz?
işlemlerin sırasını düzeltin derim.
kolay gelsin.
arkadaşım ibdataset 1i post ettiğin zaman kayıt refresh oluyor. bu yüzden ibdataset2 yide refreshliyor. ondan sebeb ibdataset2 edit/insert modundan çıkıyor.
Normalde önce master kaydı insert--> post edersiniz. sonra detail tabloyu insert --> post edersiniz.
Anladığım kadarı ile siz ikisine aynı anda insert komutunu veriyorsunuz ancak ibdataset1 post olduğu zaman ibdataset2 yi de refreşlediği için ibdataset2 yi post yapamıyorsunuz?
işlemlerin sırasını düzeltin derim.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Re: Delphide Master Detail ibdataset Yardım...
Sayın aslangeri söylediğiniz yolu izlediğim zaman master detail tabloma kayıt yapabiliyorum.Sizin ve diğer arkadaşların yardımlarından dolayı çok teşekkür ederim.
Delphide ilk defa master detail ilişkisi yaptığımdan dolayı işlem benim işin zor oluyor.Söylendiği gibi forumda bu konuda çok bilgi var ama herkes farklı şeyler sorduğu için bunları derlemek yeni başlıyanlar için biraz zor.
Tekrar teşekkürler, saygılar.
Delphide ilk defa master detail ilişkisi yaptığımdan dolayı işlem benim işin zor oluyor.Söylendiği gibi forumda bu konuda çok bilgi var ama herkes farklı şeyler sorduğu için bunları derlemek yeni başlıyanlar için biraz zor.
Tekrar teşekkürler, saygılar.