Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Firedac bileşenleri hakkında
#1
Merhabalar,
Veritabanı:firebird.
delphi tarafında daha önceleri ib bileşenleri kullanırken, delphi versiyonunu yükseltince firedac bileşenlerini kullanmaya başladım.

ib bileşenleri bağlantı şeklim;
ibdatabase <- ibtransaction <- ibquery ->ibupdatesql şeklindeydi. ibquery'nin afterpost vb olaylarında transaction commit-rollback yapıyordum.

Firedac bileşenlerini bu yapıya göre kullanmaya başladım, ancak biraz kurcaladığımda;
  • fdconnection nesnesine direk commit yapılabildiğini gördüm.
  • Daha önce Transaction bileşeninde ayarladığım isolation seviyesinin fdconnection bileşeninde de olduğunu gördüm.
Eğer şu tarz bir yapı kullanılmayacaksa, transaction bileşeni kullanmak gereksiz mi?
try
FDTransaction1.StartTransaction;
a tablosuna kaydet;
b tablosuna kaydet;
FDTransaction1.CommitRetaining;
except
FDTransaction1.RollbackRetaining
end;

FdConnection bileşeninde iki tane transaction (+UpdateTransaction) bağlama property'si mevcut, forma iki tane transaction koyup bağlamalı mı? Transaction.commit kullanılmasa da bu bileşenler arka planda çalışıyorlar mı?


Ayrıca;
  • query nesnesinin, updatesql bağlı olmadan da kalıcı kayıt yapabildiğini gördüm.
Query bileşeni (updatesql olmadan) kalıcı kayıt yapabildiğine göre, updatesql bileşenini artık query bileşenine bağlamaya gerek kalmadı mı?

Yukarıdaki soruları da dikkate alarak, firedac bileşenlerinin doğru bağlantı ve kullanım şekli hakkında bilgi verebilirseniz memnun olurum.
Cevapla
#2
Kendi yorumumu yazayım;
Transaction bileşeninin, örnekteki kod yapısı kullanılmayacaksa projeye dahil edilmeyebileceğini,
Query bileşeninin ise güçlendirildiğini, ibdataset ve ibquerynin birleşimi gibi kullanılabileceğini, böylece kayıt yapabilmek için query'nin updatesql bileşenine ihtiyacı kalmadığını düşünüyorum.

Kendi projemde ise, iki transaction bileşeni ekledim, normal olanın readonly özelliğini true yaptım, Commit işlemlerimi yine transaction bileşeni üzerinden yapacağım, updatesql bileşenini ise kullanmayı düşünmüyorum.
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Puanların Önemi Hakkında... Tuğrul HELVACI 20 6.759 11 saat önce
Son Yorum: Tuğrul HELVACI
Question SFTP Hakkında elixir84 3 138 25-06-2018, Saat: 10:02
Son Yorum: SimaWB
  Veritabanı hakkında mehmetalpgozbasi 4 216 19-06-2018, Saat: 12:57
Son Yorum: mehmetalpgozbasi
  Firedac Hakkında Tuğrul HELVACI 8 638 01-06-2018, Saat: 00:33
Son Yorum: nguzeller
  winusb protokolü hakkında yardım seci20 1 107 31-05-2018, Saat: 10:26
Son Yorum: SimaWB



Konuyu Okuyanlar: 2 Ziyaretçi