Du kan bara göra detta i sql, så här:
SELECT *
FROM tUsers
WHERE 1 = 1
AND (@userID IS NULL OR RTRIM(Name) = @userID )
AND (@password IS NULL OR RTRIM(Password) = @password)
AND (@field2 IS NULL OR Field2 = @field2)
....
Om någon parameter skickas till den lagrade proceduren med en NULL
värde så kommer hela villkoret att ignoreras.
Observera att :Jag lade till WHERE 1 = 1
för att få frågan att fungera om ingen parameter skickas till frågan och i det här fallet kommer alla resultatuppsättningen att returneras, eftersom 1 = 1
är alltid sant.