Slm arkadaşlar. Bir konu hakkında görüşlerinizi alabilir miyim? 

KOD: TÜMÜNÜ SEÇ
IBTransaction1.Commit;
IBTransaction1.Commitretaining;
IBDataset.ApplyUpdates;
IBTable1.Post;
IBTable1.Append;



Bu kodların yaptığı iş biliyorsunuz ki özetle yapılan kayıtları veritabanına kaydediyor. (Post ve Append'i çıkarın aradan. Onlardan sonra commitretaining veya applyupdates yapmak gerekiyor ki veritabanına fiziksel olarak yazsın.) IBTable ile kayıt yaparken bu kodların hangisini kullanmak daha doğru? (Commit, commitretaining ve applyupdates) Şu anda üzerinde çalıştığım projemde Kaydet tuşunda post; ve ibtransaction1.commitretaining; kodları, IBTable'ın AfterPost olayında ise IBTable1.Applyupdates; kodları var. Bu şekilde kullanırken hiç hata almıyorum ve istediğim işi de yapıyor. Ama sizce böyle çalışmak sağlıklı mı? Yoksa commitretaining i afterpost a alıp applyupdates i tamamen mi kaldırim?

 

Cevap:

merhaba. 

ApplyUpdates ve CancelUpdates tarnsactionla değilde direkt olarak table, query veya dataset teki bilgileri hafızaya alarak çalışır. yani post komutundan sonra bilgiler chackedupdates true ise transactionda değilde hafızaya yüklenir. tabi bu durum uzun bilgi girişlerinde hafızayı doldurabilir veya performansını düşürebilmektedir. post ile hafıya alınan bilgiler applyupdates komutu ile vt ye yazılır ve hafıza boşaltılır. cancelupdates ile de hafızadaki bilgiler vt ye yazılmaz hafıza boşaltılır. 

Commit: Transactiondaki bilgileri vt ye yazar tarnsactiondaki bilgiler boşaltılır, vt ile transaction arasındaki bağlantı kesilir. 

Rollback : traansactiondaki bilgiler vt ye yazılmaktan vazgeçilir. transaction boşaltılır, vt ile transaction arasındaki bağlantı kesilir. 

CommitRetaining : transactiondaki bilgiler vt ye yazılır transaction boşaltılır, vt ile transaction arasındaki bağlantı devam eder. 

RollbackRetaining : traansactiondaki bilgiler vt ye yazılmaktan vazgeçilir. transaction boşaltılır, vt ile transaction arasındaki bağlantı devam eder. 

yukarıda bahsettiğim 2 yöntemden birini kullanmalısın. her ikisini de kullanmanı tavsiye etmem. hangisi daha sağlı dersen, tabiki transaction derim. transaction un görevi budur. yani güvenli bir şekilde vt ye kaydetmek. kolay gelsin..

Okul Zil Programı

yilsoftzil

9786059223690
logo5

Esma-ül Hüsna

Ziyaretçi İstatistikleri

Bugün187
Dün421
Bu hafta3313
Bu ay7925
Hepsi840460