Aynı anda aynı kaydı güncelleme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
aliplane
Üye
Mesajlar: 30
Kayıt: 06 Eki 2008 03:32

Aynı anda aynı kaydı güncelleme

Mesaj gönderen aliplane »

Bir tabloyu 2 kullanıcı aynı anda select ediyor.
1. kullanıcı bilgileri değiştirerek update ediyor.Daha sonra 2. kullanıcıda bilgileri değiştiriyor ve update ediyor.
Bu durumda 2. kullanıcı update etmeye çalıştığında tablodaki verilerin değiştirildiğini ve tabloyu baştan refresh etmesi gerektiğini bildiren bir mesaj gösterimi nasıl yapılabilir?
Aksi halde 2. kullanıcı 1. kullanıcının tüm yaptıklarını ezmiş oluyor.
Kullanıcı avatarı
m_ekici
Kıdemli Üye
Mesajlar: 563
Kayıt: 11 Haz 2003 06:49
Konum: Adana
İletişim:

Re: Aynı anda aynı kaydı güncelleme

Mesaj gönderen m_ekici »

bunu kayıt anında yapmak yerine kayda ulaştığında yapsan daha iyi olmaz mı? 2. kullanıcının yazdığı bilgiler önemliyse ne olacak?
1. kullanıcı kaydı açtığında kaydı kilitle. 2. değiştirmek istediğinde bu kayıt değiştiriliyor mesajı versin.
aliplane
Üye
Mesajlar: 30
Kayıt: 06 Eki 2008 03:32

Re: Aynı anda aynı kaydı güncelleme

Mesaj gönderen aliplane »

Kayda lock atıp değişikliği önlerim,fakat kulllanıcı commit attıkta sonra diğer kullanıcı update yaparsa komple ezmiş olur.
Tablo lock durumunda olmadığından da bilgiler değişmiş olur.Bu noktada kullanıcıya bilgi vermek en doğru çözüm olmaz mı?
Yada kullanıcıya tablo değişti tekrar okuyup işlem yapınız mesajı göstermek.
kodcuminik
Üye
Mesajlar: 140
Kayıt: 11 Oca 2009 10:25

Re: Aynı anda aynı kaydı güncelleme

Mesaj gönderen kodcuminik »

acizane bir fikir forumda da yine yazılmıştı galiba

nolock ile verileri select yaptıgımızda kayıt kilitlenme zaten ortadan kalkıyor

MS SQL KULLANDIGINIZI BAZ ALIRSAK

Kod: Tümünü seç

SELECT * FROM TABLO WITH(NOLOCK)  // KAYIT KİLİTLENMEDEN HER 2 KULLANICI KAYDA ULAŞIR 
KAYIT UPDATE DİYE BİR SUTUNDA DEĞİŞİKLİK TARİHİNİ VE SAATINI TUTSAK

1 KULLANICI KAYDA GİRDİ

2 KULLANICI KAYDA GİRDİ

UPDATE ETMEDEN SELECT YAPAR VE EKRANDAKİ EDİTTEKİ UPDATE TARİHİ VE SAATI SANİYEYİ KONTOROL EDER EĞER KENDİ AÇTIGI ANDAKİ İLE AYNI İSE
UPDATE ETSİN ELSE UYARI VERSİN ZAMAN AŞIMINA UĞRADI LÜTFEN ÇKIIP TEKRAR GİRİN FALAN FİLAN YANİ HANGİSİ ÖNCE UPDATE EDERSE MALI GÖTÜRSÜN :)
bilmezler bilmediklerinide bilmezler ama kendilerini bilir sanırlar
aliplane
Üye
Mesajlar: 30
Kayıt: 06 Eki 2008 03:32

Re: Aynı anda aynı kaydı güncelleme

Mesaj gönderen aliplane »

Yeni bir uygulamada bu yöntem işe yarar ancak varolan bir uygulamada bütün tablolara bunu eklemek gerekecek,daha pratik bir yolu bulmak lazım.
Cevapla