我有一個4欄的網格,即標題,描述,關鍵字,日期在C#.net 與搜索按鈕和文本框。由存儲過程或函數生成的動態查詢
當我寫標題+描述+關鍵字+日期時,它將通過單擊搜索按鈕返回相關數據。
如果我編寫關鍵字+日期+保留描述和標題爲null,它將返回來自網格的相關數據。等這個4列的其他組合。
也就是說,它是在每列和組合領域搜索動態變化
我希望有一個存儲過程或函數它在SQL SERVER。提前
我有一個4欄的網格,即標題,描述,關鍵字,日期在C#.net 與搜索按鈕和文本框。由存儲過程或函數生成的動態查詢
當我寫標題+描述+關鍵字+日期時,它將通過單擊搜索按鈕返回相關數據。
如果我編寫關鍵字+日期+保留描述和標題爲null,它將返回來自網格的相關數據。等這個4列的其他組合。
也就是說,它是在每列和組合領域搜索動態變化
我希望有一個存儲過程或函數它在SQL SERVER。提前
,您可以創建四個參數(各爲你的選擇)的程序和下面的SQL
CREATE PROC Search(
@title VARCHAR(20) NULL, ...
AS SELECT * FROM your_table WHERE (title = @title OR @title IS NULL) etc.
反正什麼建議嗎?..謝謝,你應該分析輸入獲得值爲每個參數。因此,當您將null傳遞給@title參數時,WHERE條件(title = @title OR @title IS NULL)
將始終爲真。
在C#中做一個函數,傳遞它包含列名和表名的字符串數組,這個函數將返回查詢字符串。
public string BuildQuery(string[] columnNames, string tableName)
{
string query = string.Empty;
query = "SELECT ";
foreach(string str in columnNames)
query += str + ", ";
query = query.Substring(0, query.Length - 1);
query += " FROM " + tableName;
return query;
}
您是否解決了問題?如果是,那麼如果您發現它真的有幫助,則將所有答案都標記爲已接受。 – 2011-05-11 12:18:25