我正在尝试组装一个存储过程以返回一组结果。
在我的页面上,我有三个复选框和一个搜索框。
然后在存储过程中,我有这个:
CREATE Procedure [dbo].[sp_Search]
@Bool1 bit = NULL,
@Bool2 bit = NULL,
@Bool3 bit = NULL,
@SearchTerm nvarchar(30)
As
Begin
Select
[CompanyID],
[CompanyName],
[Label],
[Bool1],[Bool2],[Bool3]
From [Contract Companies]
WHERE (CompanyName LIKE @SearchTerm OR [Label] LIKE @SearchTerm) AND
if(@Bool1 IS NOT NULL)
[Bool1] = 'True'
end
if(@Bool2 IS NOT NULL)
AND [Bool2] = 'True'
end
if(@Bool3 IS NOT NULL)
AND [Bool3] = 'True'
end
类似的事情,这三个布尔值并非始终为真,就在它们的复选框将被选中时。
我怎样才能做到这一点?
提前致谢, Laziale