2013-02-15 99 views
0

我很努力地解決了這個問題。從列表框值創建一個sql查詢asp.net c#

這就是我想做的事:

我想建立了Windows索引服務查詢應該是這樣的

SELECT ... FROM (TABLE Catalog1..Scope('Deep traversal of "Path1"','Deep traversal of "Path2"') UNION ALL TABLE Catalog2..Scope('Deep traversal of "Path3"')) WHERE ... 

我從一個<asp:Listbox SelectionMode=multiple>的信息(其中有一個文件作爲數據源)

而且它有以下方式:

'DisplayNameInListbox1'[email protected];Path2&Catalog2 
'DisplayNameInListbox2'[email protected] 
'DisplayNameInListbox3'[email protected];Path2&[email protected] 
... 

其中一個Listbox值可以是多個目錄,可以選擇多個值。 每個目錄都可以單獨存在或限制在指定的路徑(@path;路徑2)

我嘗試: 我試圖存儲在一個Dictionary<string Catalog, List<string Paths>> 的正常工作的所有信息,如果我不選擇含兩個值相同的目錄名稱。如果我已經有一個具有該名稱的密鑰,我也不能跳過目錄,因爲路徑限制可能不同。

任何人都可以幫助我找到解決此問題的好方法嗎? (也有可能改變存儲數據的方式 - 我只需要能夠把它從文件中提供的列表框)

乾杯

回答

0

這裏談到的解決我的問題:

我想大多數時候最簡單的解決方案是最好的!

我將問題分爲兩部分。現在,我首先合併目錄和路徑,以便每個目錄在字典中僅退出一次。

而在第二步中,我可以按順序構建查詢:)