近期在做專案時遇到了一個全表全欄位多條件搜索的需求,在平時搜索最常見的就是 欄位+like +‘% 條件%’這種模式,但遇到多條件多欄位時,這種就不適用了, 表欄位已知,條件未知,條件數量未知,這種情況我們不可能每多一個條件就加一個and,
解決辦法:
先將用戶輸入的條件存入一個陣列中,例如以空格隔開的條件:
String[] strArr = SearchText.Split(" ");
進行回圈遍歷陣列中的條件進行sql拼接
for(int i =0;i<strArr.Length;i++)
{
sql += "concat(D1,D,D3,D4,D5,D6,D7,D8,D9,D10,Data) like '%"+strArr[i] + "%'and";
}
然后將拼接好的sql放入where條件下就可以了,
這個方法是在不考慮查詢效率時所使用的,
測驗:資料約兩萬條,二十五個欄位,45kb左右,大約要17s(查詢條件無)

轉載請註明出處,本文鏈接:https://www.uj5u.com/net/91555.html
標籤:C#
