C# ile SQl de ki pk...
 
Bildirimler
Hepsini Temizle

C# ile SQl de ki pk alanının sorgulanması  

  RSS
Tayfun KOÇ
(@TayfunKOC)
Üye

Merhaba,

 Yazılım knousunda daha yeni başlayanlardanım.Bu yüzden de sorunum basic düzeyinde olucak.

 SQL server 2008 ile beraber c# kullanarak bir kütüphane uygulamasi yapmaya çalışıyorum.program da üye ekleme ekranım var.Bu ekranda da kullanıcının girmesi gereken uye no alanı mevcut.Ancak bu uye no alanı tabloda ki Pk alanına denk geliyor.Dolayısı ile var olan bir no girildiğinde kullanıcıya farklı bir no girilmesi için mesaj verdirmek istiyorum.Ancak tablonun pk alanını textbox a girilen değer ile nasıl sorgulayacağımı araştırmalarım sonucunda bulamadım.Yardımcı olursanız çok sevinirim. 

 

İyi Çalışmalar. 

Alıntı
Gönderildi : 17/03/2014 14:41
Güney OKTAYLI
(@guneyoktayli)
Üye

http://www.cozumpark.com/forums/thread/356099.aspx

Burdan yola çıkabilirsiniz.
İyi çalışmalar. 

CevapAlıntı
Gönderildi : 17/03/2014 16:29
Tayfun KOÇ
(@TayfunKOC)
Üye

[quote user="Güney OKTAYLI"]

http://www.cozumpark.com/forums/thread/356099.aspx

Burdan yola çıkabilirsiniz.
İyi çalışmalar. 

[/quote]

 

Merhaba Güney Bey,

 Paylaştığınız linki inceledim.Sanırım yaşadığım sıkıntıyı ben tam olarak izah edemedim. Amacım C# üzerinden girilen üyeno alanın daki değerin uye tablomun primer keyi olan no kısmına yazdırmak.Bunu sağlayabiliyorum zaten.Ancak zaten mevcut bir değer var ise ve kullanıcı üyeno kısmına tekrar aynı sayıyı girip kaydet dediğinde tabloda uyeno alanı pk olduğundan ve aynı değer iki sefer yazılamayacağından dolayı kaydetme işlemi yapmayacak ve hata verecektir.Ben bu hatayı c# üzerinden kullanıcıya Giridğiniz üye nodan bir tane var farklı bir üyeno giriniz şeklinde uyarı verdirtmek istiyorum.Yani kaydet butonuna tıkladıktan sonra uyeno ya girmiş olduğu degeri tablomda ki uyeno kolonunda aratıp eğer var ise kullanıcıya yukarıda ki gibi bir mesaj verdirtmek istiyorum.Bu konu ile ilgili internette  girmediğim site kalmadı.Sizin bildiğiniz başka bir link var ise paylaşmanızı rica ederim.

 

İyi Çalışmalar. 

CevapAlıntı
Gönderildi : 17/03/2014 17:09
Güney OKTAYLI
(@guneyoktayli)
Üye

[quote user="Tayfun KOÇ"][quote user="Güney OKTAYLI"]

http://www.cozumpark.com/forums/thread/356099.aspx

Burdan yola çıkabilirsiniz.
İyi çalışmalar. 

[/quote]

 

Merhaba Güney Bey,

 Paylaştığınız linki inceledim.Sanırım yaşadığım sıkıntıyı ben tam olarak izah edemedim. Amacım C# üzerinden girilen üyeno alanın daki değerin uye tablomun primer keyi olan no kısmına yazdırmak.Bunu sağlayabiliyorum zaten.Ancak zaten mevcut bir değer var ise ve kullanıcı üyeno kısmına tekrar aynı sayıyı girip kaydet dediğinde tabloda uyeno alanı pk olduğundan ve aynı değer iki sefer yazılamayacağından dolayı kaydetme işlemi yapmayacak ve hata verecektir.Ben bu hatayı c# üzerinden kullanıcıya Giridğiniz üye nodan bir tane var farklı bir üyeno giriniz şeklinde uyarı verdirtmek istiyorum.Yani kaydet butonuna tıkladıktan sonra uyeno ya girmiş olduğu degeri tablomda ki uyeno kolonunda aratıp eğer var ise kullanıcıya yukarıda ki gibi bir mesaj verdirtmek istiyorum.Bu konu ile ilgili internette  girmediğim site kalmadı.Sizin bildiğiniz başka bir link var ise paylaşmanızı rica ederim.

 

İyi Çalışmalar. 

[/quote]

Yukarıda belirtmiş olduğum SQL sorgusunu bir değere atayarak ve bu değer ilede yeni giriş yaptığunuz textbox alanını karşılaştırıp mesaagebox sayesinde bir uyarı verdirebilirsiniz. Delphi tarafından örneği aşağıdaki linkte mevcut,inceleyebilirsiniz.

http://www.delphiturkiye.com/offline/2/8263.html

 

CevapAlıntı
Gönderildi : 18/03/2014 12:14
Burak Şentürk
(@BurakSenturk)
Üye

Merhaba,

 Üye no olarak girilen datayı tablonuzda SELECT UYENO FROM UYELER WHERE UYENO = txtuyeno.Text gibi bir arama yapıp,

 Dönen sonuç null değil ise yada dönen sonucun count u 0 dan büyük ise bir mesaj ile kullanıcıya uyarı verseniz muhtemelen sorununuz çözülür.

 Ancak;

PK kolonunu yazdığınız yazılımdan doldurmak ileride sıkıntı yaşatabilir. Multiuser lı bir platformda çok fazla çakışma yaşayabilirsiniz. Tavsiyem bu kolonu formlarınızdan manuel olarak değilde sql tarafında identity özelliğini true yaparak 1 er 1 er arttırmanız yönünde olacaktır. (Tabi bilmediğim farklı bir yapı tasarlamış olabilirsiniz ukalalık olarak lütfen algılamayın)

Ayrıca sorduğunuz sorudaki yapıdan devam edersek, kullanıcı üye no konusunda evet böyle bir üye numarası vardır uyarısını alıp boş üye no olana kadar arama yapmasın bence burada bir tavsiye de de bulunun.

 

SELECT TOP 1 UYENO FROM UYELER ORDER BY DESC gibi bu sorgu da size en son açılan üye numarasını verecektir. Buna 1 ekleyip öneride de bulunabilirsiniz. Ancak burada da bu üye numarasını almak isteyen kişi alana kadar arka planda başka bir kullanıcı bu üye numarasını alıyor olabilir.

 Yine böyle bir duruma hiç düşmemek için Identitiy özelliğini bilmiyor iseniz bir araştırın yada danışın bizde açıklayalım derim,

 

Saygılarımla,

Burak 

CevapAlıntı
Gönderildi : 19/03/2014 12:37
Paylaş: