我正在开发一个用于生成报告的MVC应用程序。我提供了许多搜索选项,例如下面。
Customer id
Customer name
Customer E-mail
State
Country
用户1:
如果某些用户只会输入一些值,例如
Customer id = 1
Customer name = A
默认情况下,其他参数将作为 null 值传递给存储过程。
Customer E-mail
State
Country
用户2:
如果有些用户只会输入一些值,比如:
客户电子邮件=xtz@gmail.com
那么其他参数将默认传递为 null 值到存储过程中。
Customer id
Customer name
State
Country
如何在存储过程中使用SQL查询中的where子句?我们可以像下面这样做吗?
string qry = select * from table_name where status != d
if (@customerID!=null)
qry = qry + "and customer_id=@customerID"
if (@customerName!=null)
qry = qry + "and customer_name=@customerName"
请告诉我最佳的解决方案。
谢谢, Velu
if (@customerID != null)
不会捕捉到 null 值,你需要写成if (@customerID IS NOT null)
。 - SQLMenace