我正在使用C#中的Windows Search API,其中包含以下查询:
SELECT System.ItemNameDisplay,SYSTEM.ITEMURL,System.DateModified, System.ItemName, System.Search.Rank, System.Keywords, System.Search.AutoSummary,System.Search.GatherTime, System.ItemType FROM "SYSTEMINDEX" WHERE CONTAINS(*,'"cowie*"',1033) Order By System.DateModified Desc
此命令提供给OleDbCommand对象,该对象在循环中读取:
while (reader.Read())
{...}
当命令运行时,在处理完最后一个结果后,会在Reader.Read()语句中产生一个未指定的错误。如果Windows搜索索引中不存在搜索字符串,则抛出错误而不返回任何结果。
虽然错误可能被其未指定的错误"消息并没有作为错误呈现给用户(因为所有结果似乎都在它发生之前返回),最好防止它发生。任何人都可以就如何做到这一点提供任何指导吗?
答案 0 :(得分:0)
我在Windows Server 2012上的VB6中遇到了与您相同的错误。 简而言之:我正在执行Windows搜索查询,在从记录集中读取结果时,我得到:
Unspecified error
我发现在删除Windows更新KB4022717,KB4022726后,错误不再发生。
检查this。