Windows搜索查询中包含功能不起作用

时间:2019-06-12 08:22:41

标签: c# windows

我正在尝试在映射的驱动器上执行以下查询

"SELECT System.ItemName, System.ItemUrl, System.Search.AutoSummary, System.Search.Contents FROM JulioCompartido.SystemIndex WHERE scope ='file://JulioCompartido/Comp' and CONTAINS('"a*"')"

此命令返回“ Got OleDbException,错误代码为0x80004005L(未指定错误)”

如果我不添加contains子句,查询将正常工作

"SELECT System.ItemName, System.ItemUrl, System.Search.AutoSummary, System.Search.Contents FROM JulioCompartido.SystemIndex WHERE scope ='file://JulioCompartido/Comp'"

我偷了不同的方法来调用函数包含

  • CONTAINS('“ a *”')
  • CONTAINS('\“ a * \”')
  • CONTAINS('a *')
  • CONTAINS('a')

还要添加列名作为第一个参数, 带有和不带有引号

  • CONTAINS(System.Search.Contents,'\“ a * \”')
  • CONTAINS(“ System.Search.Contents”,'\“ a * \”')

我尝试将所有先前的选项组合在一起

1 个答案:

答案 0 :(得分:-1)

在WMI下包含无效呼叫,您需要使用“ like” ..如“%a%”之类的字段

您发现您也不能有两个where子句。您想和他们在一起..所以最终以

WHERE scope ='file://JulioCompartido/Comp' AND System.Search.Contents LIKE '%a%'"有效。