Transaction Hk. ??????

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
hi_selamlar
Üye
Mesajlar: 523
Kayıt: 05 May 2005 03:24
Konum: DelphiTürkiye.COM

Transaction Hk. ??????

Mesaj gönderen hi_selamlar »

merhaba arkadaslar.

FB kullanimimi gelistirmek icin öncelikle basti bir proje hazirliyorum.
Kafama takilan bir soru var.

her database icin ayri yarimi transaction kullanmak mi daha avantasli yoksa tekbir transaction kullanmammi daha avantajli ...

sizce hangisi daha mantikli. :?:

sevgiler ve saygilar.
Herkes cahildir, bazi konularda.
t-hex
Kıdemli Üye
Mesajlar: 531
Kayıt: 18 Mar 2005 02:45
Konum: İstanbul/Antalya
İletişim:

Mesaj gönderen t-hex »

Merhaba,

Her database için tek transaction kullanman mantıklı.
  • Eğer tek kullanıcılı ise böyle olması sorun yaratmaz
  • Çok kullanıcılı hazırlıyorsan update işlemlerini ayrı bir transaction da yaptırman daha mantıklı olur. Yalnız bunu IBX bileşenleriyle yapamazsın. Üçüncü parti bağlantı bileşenleri kullanman lazım.
İyi çalışmalar
nkyek
Üye
Mesajlar: 65
Kayıt: 30 Nis 2005 02:03
Konum: kayseri

Mesaj gönderen nkyek »

"Üçüncü parti bağlantı bileşenleri kullanman lazım." derken neyi kast ediyorsun bir ornek verirmisin.
En hayırlınız İnsanlara faydalı olanlarınızdır (hs)
Kullanıcı avatarı
hi_selamlar
Üye
Mesajlar: 523
Kayıt: 05 May 2005 03:24
Konum: DelphiTürkiye.COM

Mesaj gönderen hi_selamlar »

arkadaslar biraz konuyu acarmisiniz ? lütfen :cry:

_____________________________________________________________
sevgiler ve saygilar..
Herkes cahildir, bazi konularda.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7602
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

konu daha önce geçti. Ayrı ayrı transaction kullanmak daha faydalı.

Ama bazı ekranlarda bir işlem, birden fazla tablo için tek transaction kullanman lazım. Mesela fatura girişi yapıyorsun ve fatura bilgilerini 2 tabloya kaydediyorsun diyelim. Bu işlemi 2 transaction ile değilde, tek transaction ile yapman lazım.

Kolay gelsin.
t-hex
Kıdemli Üye
Mesajlar: 531
Kayıt: 18 Mar 2005 02:45
Konum: İstanbul/Antalya
İletişim:

Mesaj gönderen t-hex »

Merhaba,

"Üçüncü parti bağlantı bileşenleri kullanman lazım." derken FIBPlus ve IBObjects gibi bileşenleri kastediyorum. Çünkü IBX bütün bağlantı için tek transaction kullanıyor ama FIBPlus update işlemi için farklı transaction atayabilmene izin veriyor.

Bileşenler ücretli.
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

Mesaj gönderen vedatkaba »

Forma yada Datamodule
1 adet IBDatabase,
1 adet IBTable/IBQuery,
2 adet IBTransaction nesnesi atın

! Database e default transaction nesnesini belirtmeyiniz!!!

IBTable ın transaction kısmına IBTransaction1 i,
IBTable ın UpdateTransaction kısmına IBTransaction2 yi atayınız.

IBTransaction1 DefaultAction i TaRollback,
IBTransaction2 DefaultAction i de TaCommit ayarlayın.

bunlardan biri Read, diğeride write yapmak için

Hadi kolay gelsin...
Böyle Bir yapı sağlıklı olurmu .nerelerde nasıl kullanabilirz.kolay gelsin.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

***********************************
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Benim kullandığım şekli anlatayım.

Her kayıt işlemi için ayrı bir Transaction Selectlerde ise tek bir transaction raporlarmalama formlarında mesala.

Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Ben de bir örnekle naçizane fikrimi söyleyeyim; eğer bir fatura girişi/kayıtı yapıyorsanız ve stoğunuzda kayıtı olmayan bir kalemle karşılaşmışsanız öncelikle o kalem malzeme için stok kartı tanıtımını/kaydını yapmanız gerekir. Fatura formunu kapatmadan bir butonla stok kayıt formunu açıp malzemeyi tanıttığınızda ve kalıcı olarak tabloya kaydedilebilmesi için farklı bir transaction da olması gerekir. Yoksa aynı transaction da olursa faturanın kayıtından vazgeçilmesi durumunda stok tablosundaki yeni kayıt tanıtımı da iptal edilmiş olur :!: Yok ben zaten fatura kaydını tamamlıyorum ve bu olay da sık sık vuku bulan bir durum değil diyorsanız tek transaction yeterlidir. Yani arada değişik şartları düşünerek tercih yapılabilir, ve sadece ufak bir nuans farkı var :wink:

Transaction açıldığı/başlatıldığı anda veritabanının o anki görüntüsü/fotoğrafıdır. Başlatıldıktan sonra diğer kullanıcı ve uygulamalar tarafından veritabanına yapılan değişiklikleri kale almaz. Ta ki sonlandırılıp yeniden başlatılıncaya kadar :idea:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Cevapla