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