Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
3
Cevap
101
Tıklama
0
Öne Çıkarma
C# Dilinde veri tabanında aynı kayıdı engelleme
K
3 ay
Er
Konu Sahibi

Merhabalar, bir konuda takıldım.
C# dilinde veri tabanında tekrar eden kaydı engellemek istiyorum. Fakat şöyle textboxa girilen tarihte, aynı kullanıcı adı kaydedilemez. Yani hem tarihi hem kullanıcı adını kontrol etmesi gerekiyor.
seçilen tarihte, kullanıcı adı kayıtlıysa, kayıt gerçekleşmeyecek. Değilse kayıt gerçekleşecek bir türlü çözemedim yardım edebilir misiniz



G
3 ay
Yüzbaşı

girilen bilgiler ile
öncde db den sorgulayıp kontrol et

veritabanında kayıt varsa hata üret yoksa kayıt ekle

en basit mantık budur.

farklı çözümler de var

SQL de bunu engelleyebilirsin.



K
3 ay
Moderatör

select id from xxx where userName=userName and selectedDate=selectedDate; sorgusunu mütakip if null geliyorsa kayıt işlemi gerçekleştirilebilir.



T
3 ay
Yüzbaşı

Kullanıcı girişi olan ve değişken kullandığın tüm sorgularda ya Stored procedure kullanmalısın ya da entity framework kullanmalısın.

şahsen entity framework kendi yazıdığım Sp lerden daha yavaş kaldığı için ben tek tek tüm işlemler için sp yazarım. her yazdığım sp yi de dökümante ederim. yüzlerce sp olunca takibi zor olabilir.
ilak başta çok zaman alır ama ileri süreçte kod temizliği, güvenlik, hız ve döküman işlemlerinin en başta yapılmasından ötürü işime geliyor veya alıştığım için böyle yapıyorum.

Aşağıdaki gibi bir sp işinizi görür.

declare @sonuc boolean;
set @sonuc = 0
if exists (burada db de selectle aynı kaydın kontrolünü yaparsınız)
begin
set @sonuc = 1
end

select @sonuc as sonuc


sonra c# ile sonuc değerini okursunuz true ise aynı kayıttan var false ise yok demektir.

Bu işlemide web servi üzerinden yaparsınız, senkron bir şekilde jquery ile servisten gelen bilgiye göre ekranda hata mesajı gösterirsiniz, ayrıca işlem devam ederken jquery ile dönen kum saati gib ianimasyonlar kullanırsınız. jquery bu işler için çok pratik kod desteği veriyor, aynı işlemi c# ta yapaktansa javascript kullanmayı tercih ediyorum. Kişiye göre değişir, zevkler ve renkler tartışılmaz derler benim yaş grubumdakiler :D



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.