簡體   English   中英

Windows Search SQL:LIKE語句中的分號導致異常(E_FAIL 0x80004005)

[英]Windows Search SQL: Semicolon in LIKE statement causes exception (E_FAIL 0x80004005)

我正在向Windows搜索引擎查詢ASP.NET Web應用程序中的一些文檔。 我正在尋找標題包含字符串“; IT”的所有文檔(除其他條件外,從下面的示例中刪除)。 我正在通過ADO.NET,所以我的代碼看起來像這樣(剝離了一些不重要的細節):

var connString = "Provider=Search.CollatorDSO;" + 
                 "Extended Properties='Application=Windows';";
var conn = new OleDbConnection(connString);

conn.Open();
StringWriter wSql = new StringWriter();
wSql.WriteLine("SELECT System.Title, System.Filename, System.Keywords, " + 
               "System.Size, System.ItemPathDisplay, System.ItemUrl, " +
               "System.Search.Rank, System.DateCreated, System.DateModified " + 
               "FROM SYSTEMINDEX WHERE System.Title LIKE '%; IT%'");

var cmd = new OleDbCommand(wSql.ToString(), conn);

var adapter = new OleDbDataAdapter(cmd);
var result = new DataSet();
adapter.Fill(result, "doc");  // <== HERE THE RUNTIME EXPLODES

當我運行此代碼時,在最后一行拋出異常,代碼為“ E_FAIL 0x80004005”。 如果我從LIKE語句中刪除分號,則所有功能都像一個超級字符,但是顯然我沒有預期的結果,因為我真的只需要標題對應於給定字符串的文檔。

我嘗試在Windows Search SQL中搜索保留字符和/或轉義,但是沒有運氣。

任何想法?

謝謝並恭祝安康,

克勞迪奧

我發現Windows Search API不支持Like運算符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM