if Application.MessageBox('Borç Kapama İşlemi Geri Alınacak. Onaylıyormusunuz?','UYARI',mb_yesno+MB_ICONQUESTION+mb_defbutton2)=6 then
begin
try
Ana_menu.Database1.StartTransaction;
police;
taksit;
tahsilat;
hareket_sil;
mahsup_sil;
Ana_menu.Database1.Commit;
except on e: exception do
begin
Ana_menu.Database1.Rollback;
ShowMessage('Kayıt Yapılamadı..!'+#13+'Sistem Hata Mesajı = '+e.Message);
end;
end;
Database im MySQL InnoDB Transaction Desteği var yani.
Ama sorun şu eğer istisna "police" procedurunde oluşursa diğerleri çalıştırılmıyor doğru olan bu yani. ama ortalarda bir yerde oluşursa istisna oluşna kadar çalıştırılan procedurelerin VT ye yaptığı değişiklikler Except bloüunda ROLLBACK dememe rağmen geri alınmıyor. bunun nedeni ne olabilir.
Teşekkürler.
My sql den anlamıyorum ama sql'den biraz çakıyorm.
Derslerde gördüğümüz kadarıyla yapılan işlemler kullanıcı da geçici bellekte tutuluyor. ve kaydet komutunu kullanana kadar veritabanına (ana makinaya) birşey yazmıyor..
Sen bu olayların zaten daha ilerisini biliyorsundur..
Acaba procedure lerin birisinin içinde KAYIT olayı gerçekleşiyor olabilirmi?
Bazen insanın gözünden ufak şeyler kaçabiliyor.
Bugün bir kez daha,
Hiç Birşey Bilmediğimi Öğrendim!!!
Merhaba,
öle bir sorun yok arkadaşım.
Acaba VT de gerekli bir ayarmı var ama şunu belirtmek istiyorum denemek amaçlı,
bir program yazdım ve Transaction çalışıyor kesin çalışıyor yani
ama burada bahsettiğim gibi bir durum söz konusu.
Önerilerinizi bekliyorum. ilgilenen arkadaşlara teşekkürler.