Skip to main content

AccessTr.neT


Microsoft Access De Transactions Nasıl Kullanılır

Microsoft Access De Transactions Nasıl Kullanılır

#4
1. mesajda eklenen kod ile 
CurrentDb.Execute "INSERT INTO tblLog (Text1) VALUES ('New banana delivery')", dbFailOnError
CurrentDb.Execute "UPDATE tblInfo SET InfoText = 'Banana count: 2983' WHERE ID = 6 ", dbFailOnError
CurrentDb.Execute "DELETE FROM tblTemp", dbFailOnError
ilk satır yeni veri ekliyor , ikincisi veri güncelliyor üçüncüsü tabloyu boşaltıyor
DAO.DBEngine.BeginTrans
satırı ile bu 3 sorgu işleminden önce veritabanını kilitliyoruz.
sonra sorguları sırası ile çalıştırıyoruz
eğer tüm sorgular sıkınıtısz bir şekilde görevini başarı ile tamamlarsa 
DAO.DBEngine.CommitTrans
satırı ile veritabanını güncelliyoruz. vertabanı kilidi kalkıyor
eğer bu üç sorgu işleminden herhangi birisinde işlem hatası olursa 
tran_Err:
    DAO.DBEngine.Rollback
ile tüm işlemleri geri alıyoruz. yani son satırdaki silme sorgusunda hata çıktığında
ilk satırdaki ekleme işlemide iptal oluyor. Yani Undo gibi birşey
birinci ve ikinci sorgularda olan işlemler hiç olmamış gibi veri tabanı ilk haliyle kalıyor
Bu konuda iki önemli  husus var bunlardan birincisi 
*hatayı yakalamak yani bu üç sorgudan en az birinde hata olduğunu anlamak için
CurrentDb.Execute ..............................., dbFailOnError
 "dbFailOnError" kelimesini mutlaka eklememiz lazım
ikinci önemli husus ise 
*BeginTrans ve CommitTrans satırları arasında veritabanı sadece bize çalışıyor olacak
bir kaç kullanıcı veritabanına bağlanıyorsa onlar salt okunur açabilecekler.
bir de resimdeki şu ayar yapılmalı

[Resim: do.php?img=10212]
@benbendedeilem
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da

Bu Konudaki Yorumlar
RE: Microsoft Access De Transactions Nasıl Kullanılır - Yazar: accessman - 16/05/2020, 12:02
Task