从列表框值构建SQL查询asp.net c#

时间:2013-02-15 11:14:03

标签: c# asp.net sql indexing-service

我一直在努力解决这个问题。

这就是我想要做的事情:

我想为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'=Catalog1@Path1;Path2&Catalog2
'DisplayNameInListbox2'=Catalog1@Path1
'DisplayNameInListbox3'=Catalog1@Path1;Path2&Catalog2@Path3
...

在其中一个列表框值中,可以是多个目录,可以选择多个值。 每个目录可以单独使用,也可以限制为指定的路径(@path; path2)

我的尝试: 我试图将所有信息存储在Dictionary<string Catalog, List<string Paths>>中 如果我不选择两个包含相同目录名称的值,它可以正常工作。如果我已经有一个具有该名称的密钥,我也不能跳过目录,因为路径限制可能不同。

任何人都可以帮我找到解决这个问题的好方法吗? (也可以改变数据的存储方式 - 我只需要能够从文件中将它提供给Listbox)

干杯

1 个答案:

答案 0 :(得分:0)

这是我的问题的解决方案:

我猜大多数时候最简单的解决方案是最好的!

我把问题分成两部分。现在我首先合并目录和路径,以便每个目录在字典中只退出一次。

在第二步中,我可以按顺序构建查询:)