当参数为null时,避免参数的字符串串联

ezykj2lf  于 2021-07-29  发布在  Java
关注(0)|答案(1)|浏览(343)

在c#我有这样的疑问:

string query = "SELECT * FROM product WHERE name = @name";
...
da.SelectCommand.Parameters.AddWithValue("@name", name);

if (price.HasValue)
{
    query += " AND price = @price";
    da.SelectCommand.Parameters.AddWithValue("@price", price.Value);
}
..

如何避免 if 声明?在上面的例子中,我只有一个参数,但在我的代码中,我有几个参数,这意味着我有几个 if 声明

sxpgvts3

sxpgvts31#

您可以在不使用任何ifs的情况下使用sql query进行查询,例如:

string query = "SELECT * FROM product WHERE name = @name AND (@price IS NULL OR price = @price)";

相关问题