我有一個搜索功能的需求之間的分貝行, 編輯:搜索就像是一套VARCHAR處理的通常這個ID包含像C001,C002值,...聲明變量分裂字符串在C#和搜索這些字符串
因此,如果用戶正在輸入像C001-C010這樣的範圍,它應該搜索oracle數據庫中所有在C001-C010之間的行,這就是我的要求。
如果用戶在文本框中這應該splited爲兩個變量輸入一些像範圍C001-C010,它應該在搜索這個範圍之間的所有元素。
如何做到這一點。我認爲使用枚舉範圍我們可以做到這一點,但我面臨的問題,如分裂字符串需要聲明爲單獨的變量和搜索之間。我無法實現。
示例代碼如下。
else if (!_search.MultipleId.Contains('-'))
{
filterExp = filterExp.And(x => x.Id.Contains(_search.MultipleId));
}
你的問題不清楚。要分割字符串,你可以簡單地使用'var searchstrings = _search.MutlipleId.Split(' - ')',但是你打算用結果數組中的值搜索的內容沒有定義。請澄清你的問題。 – crunchy
要添加@crunchy所說的內容,我們還需要了解您正在搜索的字段。我目前看到的答案採用了生成一組可能的字符串並搜索它們的方法;但是,如果搜索字段可以作爲整數搜索,則使用該範圍生成大於/小於搜索的效率會更高。 – Daniel
嗨@crunchy正確編輯這個問題,請你再檢查一遍。 –