Selam,
Tablolara kayıtları attıktan sonra Transaction u CommitRetaining yapmıyorsunuz sanırım.
Firebird Master Detail de Detailde ekleme hatası
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 189
- Kayıt: 30 Eyl 2013 10:17
Re: Firebird Master Detail de Detailde ekleme hatası
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.
Re: Firebird Master Detail de Detailde ekleme hatası
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.
Ö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.
Re: Firebird Master Detail de Detailde ekleme hatası
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.
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
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR