Puede hacer esto solo en sql, así:
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)
....
Si algún parámetro pasado al procedimiento almacenado con un NULL
entonces se ignorará toda la condición.
Tenga en cuenta que :Agregué WHERE 1 = 1
para que la consulta funcione en caso de que no se haya pasado ningún parámetro a la consulta y, en este caso, se devolverá todo el conjunto de resultados, ya que 1 = 1
siempre es cierto.