これは、次のようにSQLでのみ実行できます:
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)
....
NULL
を使用してストアドプロシージャに渡されたパラメータがある場合 値を指定すると、条件全体が無視されます。
注意 :WHERE 1 = 1
を追加しました 1 = 1
であるため、クエリにパラメータが渡されない場合にクエリを機能させるために、この場合はすべて結果セットが返されます。 常に真実です。