transaction hakkında

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ismailant
Üye
Mesajlar: 7
Kayıt: 04 Nis 2007 10:58

transaction hakkında

Mesaj gönderen ismailant »

Merhaba arkadaşlar.
Transactionla ilgili bir problemim var bir türlü çözemedim.Yardımcı olursanız sevinirim.
bir fatura kayıt formum var ..form açılırken transactionı başlatıyorum.fatura detayında stok kartını seçmek için stok kartı formunu açtırıyorum.stok kartı formunda yeni bir stok girişi yapıp, bir stok seçiyorum.seçtiğim stok fatura ekranına geliyo ve vazgeç diyerek fatura formundan çıkıyorum. vazgeç butonuyla da transactionu kapatıyorum.sorun şu faturayı kaydetmiyorum ama stok kartında yeni girdiğim stok ta iptal oluyor.bunu nasıl engelleyebilirm.ado kullanıyorum.ado da her açılan form için transaction başlatıp bitirilebilirmi?
teşekkürler.
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Mesaj gönderen vkamadan »

Merhaba,
Öncelikle transactionu bahsettiğiniz şekilde kullanmanızın pek güvenilir olduğunu düşünmüyorum, transactionları kayıt işlemleri sırasında başlatıp işlem sonunuda commit yada hata kontrol bloğu kullanarak sorun olduğundada rollback etmelisiniz bildiğim kadarıylada zaten Transaction amacıda bu veri bütünlüğünü sağlamak ve korumak.Sizin istediğiniz olayı ise Bir UpdateObject ile yapmanız daha sağlıklı olacaktır, yani işlemleri Cache de yapacaksınız kullandığınız Ado bileşeneinin cachedUpdates özelliğini tru yapıp onu bir UpdateObject e bağlayacaksınız işlemler kesinleştiğinide ise commit edeceksiniz.fikir vermiştir inşallah, çünkü veritabanınıdan veri tabanına bu başlatılan transcationların bir timeout süreleri var bunlar değişiklik gösteriyor yani siz bir transactionu başlatıp belli bir süre işlem yapmazsınız ya rollback edilir yada commit edilir ama bu VT den VT ye değişiklik gösterir.Kullanmaya çalıştığınız yöntem, yapmak istediğiniz işlem için uygun değil bence.
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
selimr
Üye
Mesajlar: 556
Kayıt: 16 Eki 2003 02:07

Mesaj gönderen selimr »

stok kartının tanımlandığı modüldede bir transaction yaparak bu sorundan kurtulabilirsin..
ismailant
Üye
Mesajlar: 7
Kayıt: 04 Nis 2007 10:58

Mesaj gönderen ismailant »

onu da denedim ,stok kartı formunda yeni bir transactionu açtım.ama stok kartında commit yaptığım zaman fatura modülündeki değişikliklerde commit ediliyor..sanırım ADO da böyle bir özellik yok anlaşılan.Başka bir yöntem olabilirmi acaba..
Cevapla