Bạn chỉ có thể thực hiện việc này trong sql, như thế này:
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)
....
Nếu bất kỳ tham số nào được chuyển đến thủ tục được lưu trữ với NULL
giá trị thì toàn bộ điều kiện sẽ bị bỏ qua.
Lưu ý rằng :Tôi đã thêm WHERE 1 = 1
để làm cho truy vấn hoạt động trong trường hợp không có tham số nào được truyền cho truy vấn và trong trường hợp này, toàn bộ tập kết quả sẽ được trả về, vì 1 = 1
luôn đúng.