Delphi'de transaction kullanımı?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
xcom
Üye
Mesajlar: 83
Kayıt: 05 Ağu 2003 05:56

Delphi'de transaction kullanımı?

Mesaj gönderen xcom »

S.A. Arkadaşlar,

Şimdi sorucağım soru itibari ile belki diyebilirsiniz bukadar yazı var ama sen bulamadınmı. inanın 2 güdür arıyorum ama net bir uygulama ben bulamadım eğer yerini bilen varsa yardımcı olursanız çok sevinirim. aradığım tekşey transaction kullanarak kayıt yapmak. ama bunu net olarak ben anlıyamadım. nereye yazılıyor nereden başlatılıyor. afterpost olayından mı? çözemedim nasip olmadı vesselam. program ağ ortamında çalıştığı için bir yığın data kayıpları oluyor nedeni buna getirdik enson. yardımcı olursanız çok sevinirim.

Delphi7, ADO ile MS SQL2005 e bağlanarak kullanıyorum.

kolay gelsin.
--------------------------------------------------------------------------------------------------

Sadece iylik için yaşa ve iylik ile hayat et...

-------------------------------------------------------------------------------------------------
Kullanıcı avatarı
White Rose
Üye
Mesajlar: 726
Kayıt: 06 Tem 2005 09:41
Konum: Güneyden
İletişim:

Mesaj gönderen White Rose »

transaction yapılan işlemleri gecici olarak saklar ve commit edince veritabanına yazar, eğer vazgeçerseniz yaptığınız işlemler veritabanına yazılmaz, bunun için dataset in afterpost ve afterdelete olaylarına transaction.commitretaining yazmalısınız yada bunu; forma 2 adet buton ekleyip birini commit diğerine cancel yaparsınız.
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Mesaj gönderen vkamadan »

Merhabalar,
Transcationlar işlem güvenliği veri bütünlüğünü sağlamak için yararlanılan çok gerekli yapılardır,Örneğin Fatura ile ilgili bir işlem gurubunuz olsun,
CariHareket,StokHareketi,FaturaDetayi ve FaturaBasligi tablolarına kayıt yazan bir rutinininz olsun bir fatura kayıt işlemi bu 4 tablonun hepsine birden veri yazıldığında başarılıdır herhangi birisinde sorun olursa yapılan işlemler iptal edilmeli ve veri bütünlüğü korunmalıdır bu örnek üzerine en tipik ve kararlı kullanım şekline şöyle bir örnek verilebilir,

Kod: Tümünü seç

  Try
      ADOCOnnection.BeginTrans; //Transaction İşlemini Başlat

      CariHareketTablosunaKayit;
      StokHareketTablosunaKayit;
      FaturaDetayiTablosunaKayit;
      FaturaBasligiTablosunaKayit;

      ADOConnection.CommitTrans; //Tüm işlemleri VeriTabanina Kaydet;
    Except
      ADOConnection.RollbackTrans; //Eğer bir istisna oluşursa yapılan tüm işlemleri geri al
  end; 
  
Kolay gelsin.
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
xcom
Üye
Mesajlar: 83
Kayıt: 05 Ağu 2003 05:56

Mesaj gönderen xcom »

Allah cümlenizden razı olsun. çok teşekür ederim. aradığım buydu işte verdiğiniz örnek için çok teşekkürler.
--------------------------------------------------------------------------------------------------

Sadece iylik için yaşa ve iylik ile hayat et...

-------------------------------------------------------------------------------------------------
akuyumcu63
Üye
Mesajlar: 386
Kayıt: 02 Tem 2007 09:43

Re: Delphi'de transaction kullanımı?

Mesaj gönderen akuyumcu63 »

merhaba;

sayın vkamadan yukarıda çok güzel bir kod paylaşmışsınız.
ben firebird ve interbase componetleri kullanıyorum. Transaction ı benzer şekilde nasıl kullanabilirim.

kolay gelsin,
İsteyen, yapabildiğinden daha fazlasını yapar.
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Re: Delphi'de transaction kullanımı?

Mesaj gönderen vkamadan »

Interbase yada Firebird kullanmışlığım yok fakat özel bir bileşen kullanmıyorsanız TibConnection , TibTransaction , TibQuery gibi Interbase için olan yerel bileşenlerle Transaction a alabilirsiniz, forumda çok fazla örneği var ayrıca Firebird e sıfırdan giren makalelerde mevcut arama yapmalısınız.

İyi çalışmalar.
Volkan KAMADAN
www.polisoft.com.tr
Cevapla