c#.net database yeni kayıt - Durum kontrolü

Başlatan armsistem, 16 Eylül 2013, 11:35:08

armsistem

Arkadaşlar merhaba ;

- Projemde database yeni kayıt eklendiğinde veya silindiğinde bu işlemi log olarak tutmak istiyorum  , lakin istediğim sql triger yapmak değil veya c#.net ile bağlantıyı sürekli sorgulayarak database yormak ta istemiyorum , bu işin başka bir mantığı var mıdır ?

- Kullanıcıların hangisinin programı kullandığını görmek istiyorum , algoritma olarak şu sekilde düşündüm , programı açan database veri yazar ben geldim şeklinde ve çalışan program bunu 15-20 sn. de sorgular o burda şeklinde kullanıcı programı direk kapatsa dahi  close event database veri yaz ben çıktım şeklinde  , bu yazdığım dışında daha farklı nasıl yapılabilir ?

barisertekin

#1
Tablo sayısı çok fazla değilse trigger ile temiz bir iş çıkartılabilir.
Kullanıcılar tablosunda son yapılan işlemin tarihini tutar online kullanıcıları çekerken bu tarihi referans alabilirsin. Sonuçta elektrik giderse window.close eventi tetiklenmez.

Trigger kullanılmayan bir senaryo;

Loglar tablosu
UyeID
IslemID (veya direk text olarak sana kalmış)
Tarih

Program içerisinde yapılan işlemlerde bu tabloya logları kaydedersek. Online kullanıcıları da bu tablodan bulabiliriz.

edit: Bu senaryoda kullanıcı programı açıp işlem yapmadan beklerse offline durumuna düşmüş olur.
//Son 2 dakikada işlem yapan üyeler
Select * from Loglar l,Uyeler u where u.ID = l.UyeID and l.Tarih > DateAdd(Minute,-2,getdate());

Bu senaryoda kullanıcı programı açıp işlem yapmadan beklerse offline durumuna düşmüş olur.