"无效查询"异常没有明确原因

Bra*_* Ds 5 .net c# wmi

下一个WMi查询有什么问题?(我得到了"无效查询"管理异常).

        const string deviceName = "04157DF42C9B1109";

        string wmiQuery = string.Format("SELECT * FROM Win32_USBControllerDevice WHERE Antecedent LIKE '%{0}%'", deviceName);

        ManagementObjectSearcher searcher = new ManagementObjectSearcher(wmiQuery);
        ManagementObjectCollection retObjectCollection = searcher.Get();

        foreach (ManagementObject retObject in retObjectCollection)
        {
            Console.WriteLine("[{0}]:{1}", retObject["Antecedent"], retObject["Dependent"]);
        }
Run Code Online (Sandbox Code Playgroud)

Fes*_*ani 0

id 建议您使用纯字符串而不是格式化它:这:

 string wmiQuery = "select * from Win32_USBControllerDevice where Antecedent like '%" + deviceName + "%'";
Run Code Online (Sandbox Code Playgroud)

而不是这个:

 string wmiQuery = string.Format("SELECT * FROM Win32_USBControllerDevice WHERE Antecedent LIKE '%{0}%'", deviceName);
Run Code Online (Sandbox Code Playgroud)

还有一件事:为什么需要在字符串上使用 const?也许这也可能是你的问题。

  • 无论他是否使用“String.Format”都不会改变任何东西..并且“String.Format”通常看起来更整洁.. (4认同)