Firebird Master Detail de Detailde ekleme hatası

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
esistem
Üye
Mesajlar: 464
Kayıt: 02 Eki 2007 11:22
İletişim:

Re: Firebird Master Detail de Detailde ekleme hatası

Mesaj gönderen esistem »

Selam,
Tablolara kayıtları attıktan sonra Transaction u CommitRetaining yapmıyorsunuz sanırım.
mehmetantalya
Üye
Mesajlar: 189
Kayıt: 30 Eyl 2013 10:17

Re: Firebird Master Detail de Detailde ekleme hatası

Mesaj gönderen mehmetantalya »

anladigim kadariyla master tabloya veri girisi olmus. generator tetiklenip id numarasi vermemis. id numarasi olmadigi icinde detay'a veri girmeye calisinca hata veriyor. Master tabloyu commit yapmalisiniz.
Kullanıcı avatarı
esistem
Üye
Mesajlar: 464
Kayıt: 02 Eki 2007 11:22
İletişim:

Re: Firebird Master Detail de Detailde ekleme hatası

Mesaj gönderen esistem »

Girdiğiniz verinin Fiziksel veritabanına yazılmasını istiyorsanız yapmanız gerekli.
Özetlemek gerekirse,
Transaction Commit yada Rollback edilebilmektedir, yani vt ye yazdığınız herşey bağlı transaction da tutulur, siz commit etmedikçe fiziksel veritabanına yazılmaz, rollback yaparsanız o transaction a bağlı yapılan bütün işlemler geri alınır, fiziksel veritabanına yazılmaz (aslında fiziksel veritabanına yazılmaz değil de neyse siz öyle bilin). Proramınızı normal yollarla kapatırsanız aktif transaction lar commit edilir, eğer programınız anormal kapanırsa (program akışı bir hatadan dolayı kırılırsa) aktif transaction lar veritabanınızda limbo transaction olarak kalır gerçek verileriniz üzerine işlenmez.
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1270
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Re: Firebird Master Detail de Detailde ekleme hatası

Mesaj gönderen ALUCARD »

master detail tablolarda master tabolya commitretainig yapmadan detail tabloya veri girebilirsiniz. kaydet demenize bile gerek yok.
sadece master datanın bağlı olduğu ib nesnesinin ganerator ozelliğini onnewrecord yapacaksınız. ben hep öyle kullanıyorum. çünkü kayıttan vazgeçilirse bu sefer o kaydı silmeniz gerekir.
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
Cevapla