Merhaba arkadaşlar herkese kolay gelsin öncelikle.
Şimdiye kadar firebird ile bir proje yaptım ibdatabase ve ibtransaction kullandım birde ibtable kullandım fakat bazen kayıtlar uçuyor silinmiyor sanırım sorunum ibtransaction u kullanmayı bilmediğimden kaynaklı daha doğrusu transaction mantığını bilmediğimden kaynaklanıyor. şimdi sorum şu öncelikle transaction mantığını anlatabilecek elinizde döküman tarzı bişi varsa yardımcı olabilirmisiniz. Sonrasında ise ibtransaction un normal şartlarda şu şekilde mi ayarlanması mı gerekli
1-) Transaction properties read committed özelliği seçili olacak read_committed rec_version nowait
2-) defaultaction özelliği TACommitRetaining olacak
3-) autostopaction özelliği TACommitRetaining olacak
doğrumudur. ben bunların hiç biriyle oynamamıştım varsayılan kalmıştı.
Bir table kullanmıyorum artık ibsql ibquery ile kayıt eklerken ekstra bi kod yazmam gereklimi transaction için commited gibi.
Bi diğeri ise :d bu işlemler sonucunda kayıt kilitleme otomatik gerçekleşirmi.
ibtransaction sorunu
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
Re: ibtransaction sorunu
transaction ayarlarınız doğru ancak kayıtların veritabanına yazılması için transaction'un bağlı olduğu tablenin afterpost ve afterdelete olaylarına transaction.commitretaining; yazın.
tablenin queryden farkı veritabanı ile ilgili işlemleri arkaplanda otomatik yapmasıdır. Query de her olay için (kayıt, ekleme, düzeltme, listeleme) sizin sql kodları yamanız gerekir
tablenin queryden farkı veritabanı ile ilgili işlemleri arkaplanda otomatik yapmasıdır. Query de her olay için (kayıt, ekleme, düzeltme, listeleme) sizin sql kodları yamanız gerekir
Re: ibtransaction sorunu
forumdaki araştırmalarım sonucu table ve query yanlış doğru olan ibdataset yalnız bi problemim var master detail ibdataset ile yardımcı olurmusunuz. aslında ben şu şekilde çözdüm master detail i forun onshow olayına ve master ibdataset in afterscrool olayına
bu kodu yazdım
birde detail in beforpost una
bu kodu yazdım ve çözüldü fakat daha kolayı varmıdır veya bu yöntem sağlıklımıdır bilmiyorum.
Kod: Tümünü seç
with IBDataSet2 do
begin
close;
SelectSQL.Clear;
SelectSQL.Add('select * from tblnotlar');
SelectSQL.Add('where tblkimlik_id ='+QuotedStr(IBDataSet1.FieldByName('id').AsString));
open;
end;
birde detail in beforpost una
Kod: Tümünü seç
if (IBDataSet2.State in [dsInsert]) then
ibdataset2.FieldByName('tblkimlik_id').AsInteger := ibdataset1.FieldByName('id').AsInteger;
Re: ibtransaction sorunu
master ı grid yaptığımda son kayıttan sonra birkez daha ilerlersem hata veriyor tabi.
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
Re: ibtransaction sorunu
forumda master veya detail diye arama yapın bu konuda çok bilgi bulacaksınız
ayrıca:
viewtopic.php?t=9830
ayrıca:
viewtopic.php?t=9830