2011-10-20 26 views
0

我有一個搜索功能de build。 我們正在使用純ASP.NET ASP.NET \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \我們使用多個DropDownLists,我們正在建立一個搜索查詢與任何DDLs中選擇的任何內容。我的問題是,如何使用SQL查詢處理空白值(未選定的下拉列表值)?我在查詢中使用AND運算符,因此如果有任何內容爲空,它將會失敗搜索。如果下拉列表沒有選定的值,我不希望該值成爲搜索的一部分。使用2-3個參數編碼很容易,但我們至少要查看10個項目,做一個SWITCH CASE或多個IF將很快變成混亂。使用搜索功能的可選參數構建有效的SQL查詢

我確定有一個更簡單的解決方案。

感謝您的幫助 祝您有美好的一天。

+0

您是在VB.NET的字符串中動態構建SQL WHERE子句,還是將參數傳遞給存儲過程? – wweicker

回答

3

我想你可以默認參數爲NULL的存儲過程,並完成類似

... 
Where 
(someField1 = @Param1 OR @Param1 IS NULL) AND 
(someField2 = @Param2 OR @Param2 IS NULL) AND 
(someField3 = @Param3 OR @Param3 IS NULL) .... 

這樣一來,如果傳遞NULL,特定的檢查將是真實的。