C# ve MsSql ile çalışıyorum.
Program tarafında (Adı,Soyadı,KullaıcıAdı,Mail) 4 tane textbox var.
KullanıcıAdı ve Mail özgün olduğu için aramalarda bunlardan birisini kullandığımızda diğerlerinin devre dışı kalması gerek.
Eğer sadece Ad girilirse Ad'a göre, sadece Soyad girilirse sadece Soyad'a göre aratılacak. İkisi de girilirse sadece ikisine göre aratılacak.
Ve sorgu Stored Procedure olcak. Şöyle bir kod yazdım, çalışıyor fakat bunun daha kısa, kolay ve sağlıklı bir yolu var mı ?
create proc KullaniciAra
@KullaniciAdi varchar(30),
@Mail varchar(50),
@Adi varchar(30),
@Soyadi varchar(30)
as
IF(@KullaniciAdi!=NULL)
BEGIN
SELECT * FROM Kullanicilar WHERE KullaniciAdi=@KullaniciAdi
END
ELSE IF(@Mail!=NULL)
BEGIN
SELECT * FROM Kullanicilar WHERE Mail=@Mail
END
ELSE IF(@Adi!=NULL AND @Soyadi=NULL)
BEGIN
SELECT * FROM Kullanicilar WHERE Adi=@Adi
END
ELSE IF(@Soyadi!=NULL AND @Adi=NULL)
BEGIN
SELECT * FROM Kullanicilar WHERE Soyadi=@Soyadi
END
ELSE
BEGIN
SELECT * FROM Kullanicilar WHERE Adi=@Adi AND Soyadi=@Soyadi
END