none
transaction ve birden fazla sqlcommand RRS feed

  • Soru

  • bir transaction açalım

    bunu commit yaptığımda

    diyelim daha önce iki veya birden fazla neyse command ile birlikte çalıştırdım.

    bu command'lardan birinde hata olduğunda diğerlerini de geri sarması için

    try catch bloğu içerisinde catch'e ROLLBACK koyarsam commandların tümünde yapılan işlemleri geri alır mı?


    • Düzenleyen YoungBOyS 9 Ocak 2013 Çarşamba 16:29
    9 Ocak 2013 Çarşamba 16:25

Yanıtlar

Tüm Yanıtlar

  • Kolay Gelsin,

    Öncelikle neden iki sorguyu aynı anda yapma ihtiyacı olduğunu pek anlamadım.

    Fakat Ben Olsam Sorguları ayrı ayrı çalıştırırdım 

    örnek birinci sorguda hata yoksa ikinci sorgu çalışşsın mantığını düşünebilirsiniz.

    veya database tarafında trigger tanımlayabilirsiniz.


    Sancak

    9 Ocak 2013 Çarşamba 23:16
  • trigger kullanmıyorum çünkü masa üstü bir programda yapıyorum kayıt işlemlerini. sqlserverce. kullanıyorum kayıt için dolayısıyla burda örnek veriyorum muhasebe programında yevmiye kaydını yaptı hata olursa tümünü geri alsın.

    ayrı ayrı yaparsak şöyle bir problem var

    diyelim birinci kaydı yaptık hata yok

    geçtik ikinciye onda hata oldu.

    birincideki connection'u kappattığım için onu tekrandan geri almam mümkün mü zannetmiyorum. son işlem nedir onu kaydeden birşey varmı? dolaysıyla hepsinin aynı anda olması lazım.

    veya tüm transactionları açık tutmak lazım hata olursa tümünü rollback yapmak lazım. benim söylediğim gibi varsa iş  birazdaha kısalıyor ve kolaylaşyor.


    • Düzenleyen YoungBOyS 10 Ocak 2013 Perşembe 08:32
    10 Ocak 2013 Perşembe 08:30
  • EntityFramework ve ya Linq2SQL kullanırsanız SaveChanges methodu çağırılana kadar database e gönderilmez.

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
    MCC


    10 Ocak 2013 Perşembe 10:57
    Moderatör